There were scripting errors on this page. While those are being addressed by site editors, you can view partial content below.

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 ({{ bug }}).
  • 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 in list-style-type ({{ bug }} and {{ bug }}).
  • Added support for mongolian, disclosure-open and disclosure-closed counter styles in list-style-type ({{ bug }} and {{ bug }}).
  • Fixed CSS animations with empty keyframes rule so they also dispatch events ({{ bug }}).
  • Added support for rebeccapurple, a new <color> name defined in CSS Colors level 4 ({{ bug }}).
  • Our experimental implementation of CSS Fonts Level 3 progresses. Its activation is governed by the 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 ({{ bug }}).
    • The font-synthesis CSS property has been implemented ({{ bug }}).

HTML

  • Added the experimental support for <picture> element ({{ bug }}), behind the dom.image.picture.enabled preference (off by default).
  • The <label>, especially without a for attribute, doesn't apply anymore to a <input type=hidden> field ({{ bug }}). 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 ({{ bug }}). Note that this work only for in-page links, not for linked 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 and msapplication-TileColor ({{ bug }}).
    Example:
    <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 ({{ bug }}).
  • The Map.prototype.set(), WeakMap.prototype.set() and Set.prototype.add() methods are now chainable, return their equivalent objects and no longer undefined ({{ bug }}).
  • A default parameter is evaluated before function declarations inside the function body, so those functions cannot be referred from default parameter ({{ bug }}).
  • 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 to function f(x, y) { return {x: x, y: y}; } ({{ bug }}).
  • The parsing of yield and yield* has been updated to conform with the latest ES2015 specification ({{ bug }}).
  • The non-standard hasOwn trap has been removed ({{ bug }}).

Interfaces/APIs/DOM

  • The RadioNodeList API has been implemented and the selected radio button is accessible via RadioNodeList.value ({{ bug }}).
  • The DOMMatrix has been added ({{ bug }}).
  • A non-standard (but implemented in other browsers) DOMException.stack property has been added. It returns a string with a human-friendly formatted stack ({{ bug }}), in the same format as the existing non-standard Error.stack property.
  • For <canvas>, the method CanvasPattern.setTransform(), allowing to modify a pattern using the SVGMatrix representation of a linear transform ({{ bug }}).
  • Our experimental implementation of Media Source Extensions, behind the media.mediasource.enabled preference, enabled by default in Nightly and Aurora only, now supports MP4 ({{ bug }}).
  • The properties HTMLMediaElement.audioTracks and HTMLMediaElement.videoTracks have been experimentally implemented. They are controlled by the media.track.enabled, off by default ({{ bug }}).
  • The non-standard XMLHttpRequest.mozBackgroundRequest() is no more accessible from Web sites. Only Firefox-internal code (Chrome code) can use it ({{ bug }}).
  • The touchenter and touchleave events, removed from the specification, have been removed ({{ bug }}).
  • The formely called loaded event, sent on a HTMLTrackElement has been renamed load to match the specification ({{ bug }}).
  • The IndexedDB interface FileHandle has been renamed in IDBMutableFile ({{ bug }}).
  • The IndexedDB interface LockedFile has been renamed in IDBFileHandle ({{ bug }}).
  • The ServiceWorker interface has been implemented, behind the dom.serviceWorkers.enabled flag ({{ bug }}).
  • The NetworkInformation.type now also support the "unknown" value ({{ bug }}).

MathML

  • The attributes columnspacing, framespacing, and rowspacing of the <mtable> element are now supported ({{ bug }}).
  • Use Open Type MATH constants for fractions, stacks, radicals, and scripts ({{ bug }}).

SVG

No change.

Audio/Video

No change.

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 ({{ bug }}).

Security

  • The CSP 1.1 frame-ancestors directive is now supported ({{ bug }}).

Changes for add-on and Mozilla developers

  • The JavaScript Debugger Service (JSD) has been removed in favor of the new Debugger API ({{ bug }}).
  • The interface nsIX509CertDB2 has been removed and the methods from that interface have been moved to the nsIX509CertDB interface.

Add-on SDK

Highlights

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.

See also

Older versions

Document Tags and Contributors

Tags: 
Last updated by: wbamberg,