Firefox 18 was released on January 8, 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
reversedattribute of the
<ol>element is now supported (bug 601912).
crossoriginattribute of the
<link>element is now supported (bug 786564).
allowfullscreenattribute of the
<iframe>has been implemented and it's prefixed predecessor
mozallowfullscreenis now deprecated.
min-heightnow uses the
autokeyword as initial value (This has an effect only on flex items as it resolves to
0, the previous initial value, for other items). (bug 763689)
- The cascade has been updated: now author
!importantrules override CSS animations. (bug 783714)
backgroundshorthand property now recognizes CSS3
background-sizeproperty specified inside. (bug 570326)
- Initial support for the CSS Flexbox Module has been landed. It is disabled by default but can be enabled by setting
layout.css.flexbox.enabledto true. (bug 666041)
navigator.mozPayhas been landed. (bug 767818)
window.devicePixelRatiohas been landed. (bug 564815)
- The MacOS X backend for
window.navigator.batteryhas been implemented. (bug 696045)
MozBlobBuilderis removed. Developers need to use
Blobconstuctor for creating a
Blobobject. (bug 744907)
visibilitychangeevent and the Page Visibility API has been unprefixed (bug 812086).
TextEncoderhave been added. Note that the implementation and spec of these evolved and have been changed in Firefox 19 (bug 764234).
.srchas been separate in two properties: the standard
srcproperty, dealing with
DOMString, and the prefixed
mozSrcObjectproperty, dealing with media streams (bug 792665).
- Support for transferable objects.
Screen.lockOrientation()method now supports an
DOMStringas argument (bug 784549.
- Harmony's (ECMAScript 6) Direct Proxies have been landed (bug 703537). Warning: the implementation contains a couple of known bugs, missing features and misalignements with the current state of the spec. Do not rely on it for production code.
- The ECMAScript 6
contains()method is now implemented on strings. This is unfortunately not compatible with Mootools 1.2, which expects different behavior from
contains()on strings but does not ensure it. Newer versions of Mootools fix this issue; sites should upgrade their Mootools version to something newer than 1.2.
- The prefixed version of the
EXT_texture_filter_anisotropicWebGL extension, "MOZ_EXT_texture_filter_anisotropic" has been removed (bug 790946).
- Quality factors ("q-values") are now clamped to 2 digits in HTTP
Accept-Languageheader (bug 672448).
ALLOW-FROMsyntax of the
X-FRAME-OPTIONSHTTP Response header is now supported (bug 690168).
Changes for add-on and Mozilla developers
- The 4th parameter (aOffset) of
onDataAvailable()method changes to unsigned long long. (bug 784912)
setUploadStream()supports over 2GB content-length (bug 790617)
addEditorObserver()has been removed, use
removeEditorObserver()no longer takes a
nsIEditorObserverparameter (bug 785091)
http-on-modify-requestobservers are no longer guaranteed to be called synchronously during
nsIChannel.asyncOpen().For observers that need to be called during
asyncOpen(), the new
http-on-opening-requestobserver topic has been added.
resolvemethod has been removed. Now, only the
asyncResolvemethod can be used. See (bug 769764)
The following interfaces have been removed.
- Firefox 18 Beta Release Notes
- Aurora 18: HiDPI & Touch Events (Mozilla Hacks)
- Site Compatibility for Firefox 18
- Add-on Compatibility for Firefox 18 (Add-ons Blog)