• Skip to main content
  • Select language
  • Skip to search
MDN Web Docs
  • Technologies
    • HTML
    • CSS
    • JavaScript
    • Graphics
    • HTTP
    • APIs / DOM
    • WebExtensions
    • MathML
  • References & Guides
    • Learn web development
    • Tutorials
    • References
    • Developer Guides
    • Accessibility
    • Game development
    • ...more docs
Firefox
  1. MDN
  2. Mozilla
  3. Firefox
  4. Firefox developer release notes
  5. Firefox 46 for developers

Firefox 46 for developers

In This Article
  1. Changes for Web developers
    1. Developer Tools
    2. HTML
    3. CSS
    4. JavaScript
    5. Interfaces/APIs/DOM
      1. DOM & HTML DOM
      2. Canvas
      3. WebGL
      4. IndexedDB
      5. Service Workers
      6. Fetch
      7. WebRTC
      8. New APIs
      9. Miscellaneous
    6. MathML
    7. SVG
    8. Audio/Video
  2. HTTP
  3. Networking
  4. Security
  5. Changes for add-on and Mozilla developers
    1. Interfaces
    2. XUL
    3. JavaScript code modules
    4. XPCOM
    5. Other
  6. See also
  7. Older versions

To test the latest developer features of Firefox,
install Firefox Developer Edition
Firefox 46 was released on April 26, 2016. 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:

  • Dominators view in the Memory tool
  • Allocations view in the Performance tool
  • One click to apply @media rule conditions in the Style Editor

All devtools bugs fixed between Firefox 45 and Firefox 46.

HTML

  • When faced with an invalid type value, <ul> no longer maps to decimal, but now behaves as if no type value were specified (bug 241719).
  • The attribute pattern on <input> is now treated as a regular expression with "u" (unicode) flag (bug 1227906).

CSS

  • Our implementation of CSS Grids has been updated:
    • The keywords auto-fill and auto-fit are now allowed in the repeat() function (bug 1118820).
    • The true value has been renamed to unsafe; this affects the properties justify-content, align-content, justify-self, align-self, justify-items and align-items (bug 1230478).
  • The properties text-emphasis, text-emphasis-style, text-emphasis-color and text-emphasis-position are now enabled by defaut (bug 1231485).
  • Gecko now accepts the -webkit- prefixed version of some properties; it requires to switch layout.css.prefixes.webkit to true (bug 1213126).
  • The experimental support of the font-display descriptor (of @font; it requires to switch layout.css.font-display.enabled to true (bug 1157064).
  • Added support for @media (-webkit-transform-3d) as a media query for 3D transform support, if about:config pref layout.css.prefixes.webkit is set to true (bug 1239799).
  • linear-gradient() support for the omission of 0deg units (bug 1239153).
  • Added -webkit-filter for web compatibility, behind the preference layout.css.prefixes.webkit, defaulting to false (bug 1236506).
  •  [css-align] "unsafe start" (formerly "true start") should serialize to "start" etc (bug 1230398).

JavaScript

  • The ES2015 RegExp unicode (u) flag has been implemented (bug 1135377).
  • The ES2015 block-level functions have been implemented (bug 1071646).
  • The ES2015 TypedArray.prototype.sort() method has been implemented (bug 1121937).
  • The ES2015 arguments[@@iterator] has been implemented (bug 1067049).
  • The experimental EcmaScript Shared Memory API has been implemented. See the SharedArrayBuffer and Atomics objects. To use this experimental API set javascript.options.shared_memory to true in about:config.
  • Redeclaration of let and const variables now throws a SyntaxError instead of a TypeError as per the ECMAScript specification (bug 1198833).
  • In Strict mode, setting properties on primitive values will now throw a TypeError (bug 603201).
  • The non-standard WeakMap.prototype.clear() and WeakSet.prototype.clear() methods have been removed (bug 1101817).
  • The non-standard, static RegExp.multiline property is now deprecated (bug 1220457).
  • Built-in accessor function names now have a "get" or "set" prefix (bug 1180290, bug 1235656).
  • JS1.7/JS1.8 (legacy) array comprehensions and JS1.7/JS1.8 (legacy) generator comprehensions have been removed (bug 1220564).

Interfaces/APIs/DOM

DOM & HTML DOM

  • The deprecated Window.showModalDialog() method is no more available when Firefox runs in multi-process mode (e10s) (bug 1234700).
  • Added support for Document.elementsFromPoint (bug 1164427).
  • When a non-existent option of a <select> element is programmatically selected, instead of being incorrectly left unchanged, the selectedindex value is now set to -1, the selectedoptions to an empty HTMLCollection, and value to an empty string (bug 1203668).

Canvas

  • The remaining parts of the experimental OffscreenCanvas API has been implemented; new features: OffscreenCanvas() constructor,  OffscreenCanvas.toBlob(), and OffscreenCanvas.transferToImageBitmap(). To use this experimental API set gfx.offscreencanvas.enabled to true in about:config (bug 1172796).
  • The ImageBitmap.close() method is now supported (bug 1172796).
  • A new ImageBitmapRenderingContext rendering context is now implemented. Use "bitmaprenderer" with OffscreenCanvas.getContext() or HTMLCanvasElement.getContext() to obtain this context. (bug 1172796).

WebGL

  • The WEBGL_compressed_texture_es3 extension has been implemented, allowing the use of ETC2 compressed texture formats (bug 917505). To use this extension, set the preference webgl.enable-draft-extensions to true in about:config.

IndexedDB

No change.

Service Workers

  • FetchEvent.request is now non-nullable (see bug 1238213.)
  • Navigator.serviceWorker has now been marked as SameObject (see bug 1238205.)
  • ExtendableMessageEvent.ports has now been marked as SameObject (see bug 1238225.)

Fetch

  • Request.mode now has a new value available, navigate, for supporting requests generated while navigating between documents (see bug 1209081.)

WebRTC

  • The RTCPeerConnection.createOffer() method now supports the VP9 video codec, although this is disabled by default. To enable it, set the preference media.peerconnection.video.vp9_enabled to true in about:config. When enabled, VP9 is the preferred codec; previously VP8 was preferred (bug 1242324).

New APIs

  • In SVG, the SVGStyleElement interface now implements the LinkStyle mixin )bug 1239128.

Miscellaneous

  • The asynchronous FileReader is now available in Web workers (bug 901097).
  • Our experimental implementation of Web Animations API has been updated:
    • AnimationEffectTimingReadOnly and AnimationEffectReadOnly.timing have been implemented (bug 1214536).
  • The Permissions API has now been enabled by default, for all release versions, not just Nightly as it previously was (bug 1221106.)
  • Sanitization of WOFF fonts has been loosened a bit (bug 1244693).

MathML

No change.

SVG

No change.

Audio/Video

No change.

HTTP

No change.

Networking

  • Support of RFC 7686 has been added: by default there is no attempt to resolve domain with the TLD .onion. This is controlled by the preference network.dns.blockDotOnion. Add-ons supporting Tor can swap this pref. (bug 1228457)

Security

No change.

Changes for add-on and Mozilla developers

Interfaces

No change.

XUL

No change.

JavaScript code modules

No change.

XPCOM

No change.

Other

No change.

See also

  • Site Compatibility for Firefox 46

Older versions

  • Firefox 45 for developers
  • Firefox 44 for developers
  • Firefox 43 for developers
  • Firefox 42 for developers
  • Firefox 41 for developers
  • Firefox 40 for developers
  • Firefox 39 for developers
  • Firefox 38 for developers
  • Firefox 37 for developers
  • Firefox 36 for developers
  • Firefox 35 for developers
  • Firefox 34 for developers
  • Firefox 33 for developers
  • Firefox 32 for developers
  • Firefox 31 for developers
  • Firefox 30 for developers
  • Firefox 29 for developers
  • Firefox 28 for developers
  • Firefox 27 for developers
  • Firefox 26 for developers
  • Firefox 25 for developers
  • Firefox 24 for developers
  • Firefox 23 for developers
  • Firefox 22 for developers
  • Firefox 21 for developers
  • Firefox 20 for developers
  • Firefox 19 for developers
  • Firefox 18 for developers
  • Firefox 17 for developers
  • Firefox 16 for developers
  • Firefox 15 for developers

Document Tags and Contributors

Tags: 
  • Firefox
 Contributors to this page: Sebastianz, kdex, Sheppy, teoli, Dholbert, evilpie, fscholz, chrisdavidmills, mattbrundage, cvrebert, yisibl, lth, arai
 Last updated by: Sebastianz, Feb 7, 2017, 12:36:00 PM
  1. Add-ons
    1. Firefox developer release notes
    2. Add-ons
    3. Add-on guidelines
    4. Add-on Manager
    5. Extensions
    6. OpenSearch plug-ins
    7. Plugins
    8. Themes
  2. Firefox internals
    1. Firefox developer release notes
    2. Mozilla project
    3. Gecko
    4. JavaScript code modules
    5. JS-ctypes
    6. MathML project
    7. MFBT
    8. Mozilla projects
    9. Preference system
    10. WebIDL bindings
    11. XPCOM
    12. XUL
  3. Building and contributing
    1. Build instructions
    2. Configuring build options
    3. How the build system works
    4. Mozilla source code
    5. Localization
    6. Mercurial
    7. Quality assurance
    8. Using Mozilla code in other projects