Firefox 33 for developers
Firefox 33 was released on October 14, 2014. This article lists key changes that are useful not only for web developers, but also Firefox and Gecko developers as well as add-on developers.
Changes for Web developers
Developer Tools
Highlights
- Event listeners popup
- @media sidebar
- Add new rule
- Edit keyframes
- Cubic bezier editor
- Transform highlighter
- Persistent disable cache
- New Commands
- Editor preferences
- WebIDE
For details please see the hacks post. Special thanks to the 33 contributors that added all the features and fixes in this release.
CSS
- Implemented
@counter-style
rule (Firefox bug 966166). - Unprefixed
ethiopic-numeric
,persian
,arabic-indic
,devanagari
,bengali
,gurmukhi
,gujarati
,oriya
,tamil
,telugu
,kannada
,malayalam
,thai
,lao
,myanmar
,khmer
,cjk-heavenly-stem
,cjk-earthly-branch
inlist-style-type
(Firefox bug 985825 and Firefox bug 1063856). - Added support for
mongolian
,disclosure-open
anddisclosure-closed
counter styles inlist-style-type
(Firefox bug 982355 and Firefox bug 1063856). - Fixed CSS animations with empty keyframes rule so they also dispatch events (Firefox bug 1004377).
- Added support for
rebeccapurple
, a new<color>
name defined in CSS Colors level 4 (Firefox bug 1024642). - Our experimental implementation of CSS Fonts Level 3 is progressing. Its activation is governed by the
layout.css.font-features.enabled
preference, enabled by default in Nightly. Newly implemented features are:- The fallback algorithm of
font-variant-caps
, creating synthetic alternates for missing glyphs (Firefox bug 961558). - The
font-synthesis
CSS property has been implemented (Firefox bug 871453).
- The fallback algorithm of
HTML
- Added the experimental support for
<picture>
element (Firefox bug 870022), behind thedom.image.picture.enabled
preference (off by default). - The
<label>
, especially without afor
attribute, doesn't apply anymore to a<input type=hidden>
field (Firefox bug 597650). The previous behavior wasn't spec-compliant. - The link annotation
noreferrer
has been implemented on<a>
elements.<a rel="noreferrer">
will not include the URL of the referrer in the HTTP request sent to fetch it (Firefox bug 530396). Note that this works only for in-page links, not for links clicked via the UI, like via contextual menus. - On Android, support for two new values for the
name
attribute of<meta>
has been added:msapplication-TileImage
andmsapplication-TileColor
(Firefox bug 1014712). Example:html<meta name="msapplication-TileImage" content="images/benthepcguy-144.png" /> <meta name="msapplication-TileColor" content="#d83434" />
JavaScript
- The non-standard method
Number.toInteger()
has been removed (Firefox bug 1022396). - The
Map.prototype.set()
,WeakMap.prototype.set()
andSet.prototype.add()
methods are now chainable, return their equivalent objects and no longerundefined
(Firefox bug 1031632). - A default parameter is evaluated before function declarations inside the function body, so those functions cannot be referred from the default parameter (Firefox bug 1022962).
- Shorthand properties are now allowed in object literals: if not explicitly defined, property keys are initialized by variables of the same name. E.g.
function f(x, y) { return {x, y}; }
is equivalent tofunction f(x, y) { return {x: x, y: y}; }
(Firefox bug 875002). - The parsing of
yield
andyield*
has been updated to conform with the latest ES2015 specification (Firefox bug 981599). - The non-standard
hasOwn
trap has been removed (Firefox bug 980565).
Interfaces/APIs/DOM
- The
RadioNodeList
API has been implemented and the selected radio button is accessible viaRadioNodeList.value
(Firefox bug 779723). - The
DOMMatrix
has been added (Firefox bug 1018497). - A non-standard (but implemented in other browsers)
DOMException.stack
property has been added. It returns a string with a human-friendly formatted stack (Firefox bug 857648), in the same format as the existing non-standardError.stack
property. - For
<canvas>
, the methodCanvasPattern.setTransform()
, allowing to modify a pattern using theDOMMatrix
representation of a linear transform (Firefox bug 1019257). - Our experimental implementation of Media Source Extensions, behind the
media.mediasource.enabled
preference, enabled by default in Nightly and Aurora only, now supports MP4 (Firefox bug 1000686). - The properties
HTMLMediaElement.audioTracks
andHTMLMediaElement.videoTracks
have been experimentally implemented. They are controlled by themedia.track.enabled
, off by default (Firefox bug 744896). - The non-standard
XMLHttpRequest.mozBackgroundRequest()
is no more accessible from websites. Only Firefox-internal code (Chrome code) can use it (Firefox bug 1035242). - The
touchenter
andtouchleave
events, removed from the specification, have been removed (Firefox bug 1036444). - The formerly called
loaded
event, sent on aHTMLTrackElement
has been renamedload
to match the specification (Firefox bug 1035505). - The IndexedDB interface
FileHandle
has been renamed inIDBMutableFile
(Firefox bug 1006485). - The IndexedDB interface
LockedFile
has been renamed inIDBFileHandle
(Firefox bug 1006485). - The
ServiceWorker
interface has been implemented behind thedom.serviceWorkers.enabled
flag (Firefox bug 903441). - The
NetworkInformation.type
now also support the"unknown"
value (Firefox bug 1023029).
MathML
- The attributes
columnspacing
,framespacing
, androwspacing
of the<mtable>
element are now supported (Firefox bug 330964). - Use Open Type MATH constants for fractions, stacks, radicals, and scripts (Firefox bug 961365).
SVG
No change.
Audio/Video/WebRTC
- The
RTCOfferOptions
dictionary, used to provide options when callingRTCPeerConnection.createOffer()
, has been implemented.
WebGL
EXT_blend_minmax
is now exposed. It extends blending capabilities by adding two new blend equations: producing the minimum or maximum color components of the source and destination colors (Firefox bug 973815).
Security
- The CSP 1.1
frame-ancestors
directive is now supported (Firefox bug 846978).
Changes for add-on and Mozilla developers
- The JavaScript Debugger Service (JSD) has been removed in favor of the new Debugger API (Firefox bug 800200).
- The interface nsIX509CertDB2 has been removed and the methods from that interface have been moved to the nsIX509CertDB interface.
Add-on SDK
Highlights
- Added support for context menus in panels via a new option in the
Panel
constructor. - Added
tab.readyState
. - Added a
BrowserWindow
parameter tosidebar.show()
andsidebar.hide()
, to control the window for which the sidebar will be shown or hidden.
Details
GitHub commits made between Firefox 32 and Firefox 33. This will not include any uplifts made after this release entered Aurora.
Bugs fixed between Firefox 32 and Firefox 33. This will not include any uplifts made after this release entered Aurora.
Older versions
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers
- Firefox 6 for developers
- Firefox 5 for developers
- Firefox 4 for developers
- Firefox 3.6 for developers
- Firefox 3.5 for developers
- Firefox 3 for developers
- Firefox 2 for developers
- Firefox 1.5 for developers