Firefox 22 release notes for developers
Firefox 22 was released on June 25, 2013. 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
>HTML
- The HTML5
<data>element has been implemented (Firefox bug 839371). - The HTML5
<time>element has been implemented (Firefox bug 629801). - The
rangestate of the<input>element (<input type="range">) has been implemented, behind the preferencedom.experimental_forms_range, only enabled by default on Nightly and Aurora channel (Firefox bug 841948). - The support for the
<template>element, part of the Web component specification has been implemented (Firefox bug 818976).
JavaScript
- Asm.js optimizations are enabled, making it possible to compile C/C++ applications to a subset of JavaScript for better performance.
- ES2015 Arrow Function syntax has been implemented (Firefox bug 846406).
- The new Object.is function has been added (Firefox bug 839979).
argumentsin generator expressions is now inherited from enclosing lexical scope (Firefox bug 848051).- The ES2015 Proxy
preventExtensionstrap have been implemented (Firefox bug 789897).
DOM
- Support for the
multipartproperty onXMLHttpRequestandmultipart/x-mixed-replaceresponses inXMLHttpRequesthas been removed. This was a Gecko-only feature that was never standardized. Server-Sent Events, Web Sockets or inspectingresponseTextfrom progress events can be used instead. - Support for Web Notifications has been landed (Firefox bug 782211).
- The
FormDataappendmethod now accepts a third optionalfilenameparameter (Firefox bug 690659). Node.isSupportedhas been removed (Firefox bug 801562).Node.setUserDataandNode.getUserDatahas been removed for web content and are deprecated for chrome content (Firefox bug 842372).- The
Element.attributesproperty has been moved there fromNodeas required by the spec (Firefox bug 844134). - The Mac OS X backend for Ambient Light Events has been implemented.
- Elements in the HTML namespace with local names
<bgsound>,<multicol>, and<image>no longer implement theHTMLSpanElementinterface.<bgsound>implementsHTMLUnknownElementand<image>implementsHTMLElement. - The
NodeIterator.detachmethod has been changed to do nothing (Firefox bug 823549). - The
BlobEventinterface has been implemented (Firefox bug 834165). - The properties
HTMLMediaElement.crossoriginandHTMLInputElement.inputmodehas been removed to match the spec inHTMLMediaElement.crossOriginandHTMLInputElement.inputMode, respectively (Firefox bug 847370 and Firefox bug 850346). - WebRTC: the Media Stream API and Peer Connection API are now supported by default.
- Web Components: the
Document.register()method has been implemented (Firefox bug 783129). - The
ProgressEvent.initProgressEvent()constructor method has been removed. Use the standard constructor,ProgressEvent()to construct and initializeProgressEvent(Firefox bug 843489). - Manipulated data associated with a
cut,copy, orpasteevent can now be accessed via theClipboardEvent.clipboardDataproperty (Firefox bug 407983). - The
HTMLTimeElementinterface has been implemented (Firefox bug 629801). - When a
Workerconstructor is passed an invalid URL, it now throwsDOMExceptionof typeSECURITY_ERR(Firefox bug 587251).
CSS
- Support for CSS Flexbox layout has been enabled by default (Firefox bug 841876).
- Following a spec change, the initial value for
min-widthandmin-heighthas been changed back to0, even on flex items (Firefox bug 848539). - Support for CSS Conditionals (
@supportsandCSS.supports()) has been enabled by default (Firefox bug 855455). - Support for
background-clipandbackground-originproperties in thebackgroundshorthand has been implemented (Firefox bug 570896).
Changes for add-on and Mozilla developers
- The
propertiesparameter has been removed from thensITreeView.getCellProperties(),nsITreeView.getColumnProperties()andnsITreeView.getRowProperties()methods ofnsITreeView. These methods should now return a string of space-separated property names (Firefox bug 407956). - The
inIDOMUtils.getCSSPropertyNames()method has been implemented and will return all supported CSS property names. - See the Mozilla blog for more changes.
Firefox Developer Tools
- Font inspector shows which fonts on your computer are applied to the page.
- Visual paint feedback mode shows when and where a page is repainted.
- The dev tools may now be docked to the right side, not just the bottom of the browser.
- Some panes within the dev tools have switched from XUL to HTML. For example, the CSS rule viewer is now chrome://browser/content/devtools/cssruleview.xhtml, not
cssruleview.xul. Instead of adding an overlay directly to extend features of these panes, you may add an overlay and script to the outer xul document, to add load listeners and change these HTML documents. - The stack trace is now shown as a breadcrumb near the top, and the script listing is now at the left panel of the debugger.