• 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 44 for developers

Firefox 44 for developers

In This Article
  1. Changes for Web developers
    1. Developer tools
    2. HTML
    3. CSS
    4. JavaScript
      1. New APIs
      2. Changes
      3. Removals
    5. Interfaces/APIs/DOM
      1. DOM & HTML DOM
      2. Canvas
      3. WebGL
      4. IndexedDB
      5. Service Workers
      6. WebRTC
      7. New APIs
      8. 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 44 was released on January 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:

  • Memory tool
  • Animation inspector improvements
  • New Waterfall markers: DomContentLoaded, load, worker messages

All devtools bugs fixed between Firefox 43 and Firefox 44.

HTML

  • <link rel="prefetch"> now obeys the crossorigin attribute (bug 1214819).

CSS

  • position: fixed; now always creates a new stacking context (bug 1179288).
  • The support of unicode-range has been enabled by default (bug 1119062).
  • Our experimental implementation of CSS Writing Modes has been updated to reflect the latest specification:
    • The value sideways of the text-orientation property has been implemented and sideways-right has been made an alias of it (bug 1193488).
    • The value sideways-rl and sideways-lr of the writing-mode property (bug 1193488 and bug 1193519).
  • The non-standard properties -moz-math-display and -moz-window-shadow are no more available from Web content (bug 1207002, bug 1211040, and bug 1212607).
  • The font-style property now distinguishes between oblique and italic when both variants are available (bug 543715).
  • Though not supported, the properties marks, orphans, page, size, and widows, were parsed and @supports was incorrectly reporting them as supported; this has been fixed and the properties are not parsed anymore, nor marked as supported (bug 1215702).
  • The internal value -moz-mac-unified-toolbar has been removed from the possible values for the -moz-appearance property (bug 1206468).
  • Several -webkit prefixed properties and values have been added for web compatibility, behind the preference layout.css.prefixes.webkit, defaulting to false (bug 837211):
    • -webkit-animation
    • -webkit-animation-delay
    • -webkit-animation-direction
    • -webkit-animation-duration
    • -webkit-animation-fill-mode
    • -webkit-animation-iteration-count
    • -webkit-animation-name
    • -webkit-animation-play-state
    • -webkit-animation-timing-function
    • -webkit-text-size-adjust
    • -webkit-transform
    • -webkit-transform-origin
    • -webkit-transform-style
    • -webkit-transition
    • -webkit-transition-delay
    • -webkit-transition-duration
    • -webkit-transition-property
    • -webkit-transition-timing-function
    • -webkit-border-radius
    • -webkit-border-top-left-radius
    • -webkit-border-top-right-radius
    • -webkit-border-bottom-left-radius
    • -webkit-border-bottom-right-radius
    • -webkit-appearance
    • -webkit-background-clip
    • -webkit-background-origin
    • -webkit-background-size
    • -webkit-border-image
    • -webkit-box-shadow
    • -webkit-box-sizing
    • -webkit-user-select
    • -webkit-linear-gradient() bug 1210575
    • -webkit-radial-gradient() bug 1210575
    • -webkit-repeating-linear-gradient() bug 1210575
    • -webkit-repeating-radial-gradient() bug 1210575

JavaScript

New APIs

  • Symbol.toPrimitive, Symbol.prototype[@@toPrimitive], and Date.prototype[@@toPrimitive] have been implemented (bug 1054756).

Changes

  • The let and const bindings in the global level have been made compliant with ES2015 semantics. See bug 589199 and the blog post "Breaking changes in let and const in Firefox Nightly 44". In addition, let is now available to default Web JavaScript (strict and non-strict) and does not require a version opt-in anymore (bug 932517).
  • If typed arrays' (like Int8Array) and ArrayBuffer) constructors are called as a function without the new operator, a TypeError is now thrown as per the ES2015 specification (bug 980945, bug 1214936).
  • The RegExp sticky flag now follows the ES2015 standard for anchored sticky regular expressions (bug 773687).
  • The JavaScript shell (SpiderMonkey's REPL) now defaults to the default, Web-compatible JS version (and not JS1.7+ anymore) (bug 1192329).

Removals

  • Support for the non-standard let blocks has been dropped (bug 1167029.
  • The non-standard and deprecated property Object.prototype.__noSuchMethod__ has been removed (bug 683218).

Interfaces/APIs/DOM

DOM & HTML DOM

  • For compatibility with specific existing sites, the property Document.charset has been implemented as an alias of Document.characterSet (bug 647621).
  • Support for the window.sidebar.addSearchEngine() method, which allowed Web pages to invoke an installation of a Sherlock plugin, has been dropped and now it just logs a warning in the Web Console (bug 862148).
  • To fight unwanted pop-ups, prompts requested in Window.onbeforeunload of pages that have not been interacted with are no more displayed (bug 636905).
  • The deprecated method MessageEvent.initMessageEvent() has been reimplemented for backward compatibility (bug 949376).
  • The obsolete property DocumentType.internalSubset has been removed (bug 801545).
  • For compatibility with existing sites, the properties Window.orientation and Window.onorientationchange, as well as the orientationchange event have been implemented (bug 920734).
  • An <iframe> with explicit fullscreen request should not exit fullscreen implicitly (bug 1187801).
  • The events mouseover, mouseout, mouseenter, mouseleave, pointermove, pointerover, pointerout, pointerenter and pointerleave are now triggered for disabled form elements (bug 218093).
  • The method Element.webkitMatchesSelector() has been added (bug 1216193) to improve interoperability.
  • To match the spec, the method Document.createAttribute() now converts the input to lower case (bug 1176313).
  • The non-standard dialog feature for Window.open() is no longer available to Web content. It is still available to extensions and other code with chrome privileges (bug 1095236.

Canvas

  • A new experimental OffscreenCanvas API that allows rendering contexts (such as WebGL) to run in Web Workers has been implemented. To use this experimental API set gfx.offscreencanvas.enabled to true in about:config (bug 709490). This API includes:
    • The OffscreenCanvas interface,
    • HTMLCanvasElement.transferControlToOffscreen(), and
    • WebGLRenderingContext.commit().
    • Several WebGL interfaces are now also available in a worker context when this API is enabled.

WebGL

  • Uniform Buffer Objects have been implemented (bug 1048747).

IndexedDB

  • The IDBIndex.getAll() and IDBIndex.getAllKeys(), and there counterparts on IDBObjectStore are now available by default (bug 1196841).

Service Workers

  • The ServiceWorkerMessageEvent and ExtendableMessageEvent interfaces have been implemented (bug 1143717 and bug 1207068).
  • Headers objects now support a pair iterator, meaning that the methods Headers.entries(), Headers.keys(), and Headers.values() are now available; Symbol.iterator now also returns the default iterator for them (bug 1108181).
  • The XMLHttpRequest API has been disabled on Service Workers (bug 931243).
  • The interface FetchEvent now extends ExtendableEvent, giving it access to the ExtendableEvent.waitUntil() method. (bug 1214772).
  • Following a recent change in the specification, FetchEvent.client has been removed (bug 1218135).
  • To match the latest specification, the ServiceWorkerContainer.onreloadpage has been removed (bug 1218139).
  • The event handlers ServiceWorkerGlobalScope.onbeforeevicted and ServiceWorkerGlobalScope.onevicted have been removed as they weren't following the spec. They will be reintroduced in the future, but their removal will allow feature detection to work as expected (bug 1218142).
  • In the FetchEvent() constructor, if the isReload member is not present in the options dictionary, it now defaults to false (bug 1216401).
  • The Client.frameType property is now implemented on the right interface; it was on WindowClient before (bug 1218146).
  • When AppCache is used to provide offline support for a page, a warning message is now displayed in the console advising developers to use Service workers instead (bug 1204581.)
  • Service workers have been enabled by default in Gecko.

WebRTC

  • WebRTC interfaces have been unprefixed (bug 1155923). In particular:
    • mozRTCPeerConnection is now RTCPeerConnection.
    • mozRTCIceCandidate is now RTCIceCandidate.
    • mozRTCSessionDescription is now RTCSessionDescription.
  • The RTCDataChannel.bufferedAmountLowThreshold and RTCDataChannel.onbufferedamountlow properties, as well as the bufferedamountlow event, have been implemented (bug 1178091).
  • The attribute RTCPeerConnection.canTrickleIceCandidates has been added, the non-standard method RTCPeerConnection.updateIce() removed (bug 1209744).
  • The MediaStream interface now supports the MediaStream.addTrack() and MediaStream.removeTrack() methods (bug 1103188).
  • The constructor MediaStream() has been implemented (bug 1070216).
  • Support for the non-standard constraint style option list for RTCOfferOptions has been removed; see this post on the site compatibility blog for details.

New APIs

  • An experimental implementation of the Canvas API in Workers has landed: OfflineCanvas and HTMLCanvasElement.transferControlToOffscreen() are available behind the gfx.offscreencanvas.enabled preference, currently disabled by default (bug 709490).
  • The Text2Speech API, part of Web Speech API, has now an OS X backend. But this is disabled by default (bug 1003452).

Miscellaneous

  • URLSearchParams objects now support a pair iterator, meaning that the methods URLSearchParams.entries(), URLSearchParams.keys(), and URLSearchParams.values() are now available; Symbol.iterator now also returns the default iterator for them (bug 1085284).
  • FormData objects now support a pair iterator, meaning that the methods FormData.entries(), FormData.keys, and FormData.values() are now available; Symbol.iterator now also returns the default iterator for them (bug 1127703).
  • When XMLHttpRequest.send() is used with an HTML document, it now uses text/html instead of application/xml (bug 918771).
  • Speech synthesis (text-to-speech) has been implemented in Firefox Desktop for Mac and Linux, hidden behind the media.webspeech.synth.enabled flag in about:config (bug 1003452, bug 1003464.) See Web Speech API for more information.
  • Elements inside a <frame> or an <object> can't be set full-screen anymore (bug 1212299).
  • Sanitization of WOFF fonts is a bit more stricter, leading to more incorrect fonts being rejected, this sanitization is made a bit less stricter in Firefox 46 (bug 1193050 and bug 1244693).

MathML

No change.

SVG

No change.

Audio/Video

No change.

HTTP

  • Support for the Brotli algorithm has been added and both Accept-Encoding and Content-Encoding headers now support the br value (bug 366559 and bug 1211916).
  • Incorrect support of HTTP/2 headers containing line breaks ('/n') have been removed as the spec doesn't allow it, unlike HTTP/1 (bug 1197847).

Networking

No change.

Security

  • RC4 is now also disabled by default on Beta and Release versions of the browser (bug 1201025) and the whitelist is now empty by default (bug 1215796).

Changes for add-on and Mozilla developers

Interfaces

No change

XUL

No change.

JavaScript code modules

  • Added LIKE support to {JSM("Sqlite.jsm")}} (bug 1188760).
  • Added Snackbars.jsm module to Firefox for Android (bug 1215026)

XPCOM

  • The nsIDOMWindow interface is now empty. Its contents were either no longer used, had moved elsewhere, or were only used from C++. The items available from C++ code now reside in the nsPIDOMWindow interface (bug 1216401).

Other

  • Due to breaking changes in Firefox 44 (bug 1202902), add-ons packed with cfx will not work any longer. To make your add-on compatible again, please use jpm. You can find steps to migrate from cfx to jpm here.

See also

  • Site compatibility for Firefox 44

Older versions

  • 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
  • Firefox 14 for developers
  • Firefox 13 for developers

Document Tags and Contributors

Tags: 
  • Firefox
 Contributors to this page: chrisdavidmills, Sebastianz, kdex, teoli, Sheppy, zieglerdo, One, fscholz, yisibl, alex_johnson, tim_kraut, mkato, arai, jsx
 Last updated by: chrisdavidmills, Jun 19, 2017, 4:34:44 AM
  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