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

Firefox 17 shipped on November 20, 2012. This article lists key changes that are useful for not only web developers, but also Firefox and Gecko developers as well as add-on developers.

Changes for Web developers





  • String object now offers Harmony startsWith, endsWith, and contains methods ({{ bug }}).
  • The String methods link and anchor now escape the '"' (quotation mark) ({{ bug }}).
  • Experimental support for strawman ParallelArray object has been implemented (bug 778559).
  • Support to iterate Map/Set ({{ bug }}).
  • Disabled E4X for web content by default ({{ bug }}).
  • __exposedProps__ must now be set for Chrome JavaScript objects exposed to content. Attempts to access Chrome objects from content without __exposedProps__ set will fail silently ({{ bug }}).
  • for..of loops now work in terms of .iterator() and .next() ({{ bug }}).


  • The EXT_texture_filter_anisotropic WebGL extension has been unprefixed. Using "MOZ_EXT_texture_filter_anisotropic" will present a warning from now on. The prefixed name is going to be removed in a future release ({{ bug }}).


No change.


  • The parsing of the align attribute on <mtable> elements has been updated to treat optional spaces more correctly.


  • XUL key element supports "os" modifier which is Win key (Super or Hyper key) ({{ bug }}).


  • Removed the the non-standard feature XMLHttpRequest.onuploadprogress which was deprecaed in Firefox 14.

No change.

Developer tools

  • Change JSTerm's $ helper function from getElementById to querySelector() (bug 751749).

User Agent

The Gecko part of the user agent string changed. The build date (which hadn't been updated since 2010) was removed, and the Gecko version number was put in its place instead. So Gecko/20100101 -> Gecko/17.0. This may affect you if you are doing user agent sniffing.

Changes for add-on and Mozilla developers

Interface changes

The available() method returns 64-bit length instead of 32-bit ({{ bug }}).
The sendMouseScrollEvent() method has been replaced with sendWheelEvent() (bug 719320).
The open() method, to open the file dialog asynchronously, has been added and the show() method has been deprecated ({{ bug }}).
The checkLoadURIStr() and checkLoadURI() methods have been removed ({{ bug }}).
The setupRefreshURIFromHeader() method has a added principal parameter ({{ bug }}).

New interfaces


Removed interfaces

None removed.

See also

Older versions

Document Tags and Contributors

Last updated by: wbamberg,