Firefox 18 for developers

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

HTML

CSS

DOM/APIs

JavaScript

  • Harmony's (ECMAScript 2015) Direct Proxies have been landed (Firefox bug 703537). Warning: the implementation contains a couple of known bugs, missing features and misalignments with the current state of the spec. Do not rely on it for production code.
  • The ECMAScript 2015 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.

WebGL

SVG

MathML

XUL

Network

Developer tools

Changes for add-on and Mozilla developers

Interface changes

nsIStreamListener

The 4th parameter (aOffset) of onDataAvailable() method changes to unsigned long long. (Firefox bug 784912)

nsIUploadChannel

setUploadStream() supports over 2GB content-length (Firefox bug 790617)

nsIEditor

addEditorObserver() has been removed, use setEditorObserver() instead, removeEditorObserver() no longer takes a nsIEditorObserver parameter (Firefox bug 785091)

nsIHttpProtocolHandler

http-on-modify-request observers 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-request observer topic has been added. See (Firefox bug 800799)

nsIProtocolProxyService

The resolve method has been removed. Now, only the asyncResolve method can be used. See (Firefox bug 769764)

New interfaces

Removed interfaces

The following interfaces have been removed.

  • nsIEditorObserver

See also

Older versions