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

Firefox 43 for developers

In This Article
  1. Changes for Web developers
    1. Developer Tools
    2. CSS
    3. HTML
    4. JavaScript
      1. New APIs
      2. Changes regarding the arguments object
      3. Other changes
    5. Interfaces/APIs/DOM
      1. DOM & HTML DOM
      2. IndexedDB
      3. Service Workers
      4. WebRTC
      5. 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. Plugins
    6. Other
  6. See also
  7. Older versions

To test the latest developer features of Firefox,
install Firefox Developer Edition
Firefox 43 was released on December 15, 2015. 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:

  • Server logging in the Web Console
  • Quickly find the rule that overrode a CSS declaration
  • "Use in Console" context menu item in Inspector
  • "Strict" option for filtering in the Rules view
  • Network entries in the Console now link to the Network Monitor
  • Markup view shows indicators for pseudo-classes locked for elements
  • New sidebar UI for WebIDE

All devtools bugs fixed between Firefox 42 and Firefox 43.

CSS

  • Support for the standard, unprefixed version of hyphens has been landed (bug 953408).
  • The shorthand property font has been updated to accept font-stretch values (bug 1057680).
  • To match a latest evolution of the specification, the :fullscreen pseudo-class now selects the whole stack of elements in full screen, and not only the top-level one (bug 1199522).
  • The deprecated SVG values for the writing-mode, lr, lr-tb, rl, tb, and tb-rl, have been added in CSS as aliases to standard properties (bug 1205787).

HTML

  • For <img> with ICO image containing multiple frames, the intrinsic dimension of the image is set to the one of the largest frame, and no more of the smallest frame bug 1201796.
  • The value of the document's viewport (defined with <meta name="viewport>)can now dynamically be changed via JavaScript (bug 976616).

JavaScript

New APIs

  • The new ES2016 methods Array.prototype.includes() and TypedArray.prototype.includes() are now enabled by default (bug 1070767).

Changes regarding the arguments object

  • To match the ES2015 specification, arrow functions no longer have their own arguments object. The arguments object is now lexically bound (inherited from the outer function). In most cases, rest parameters are a good alternative (...args) => args[i], see bug 889158.
  • The arguments object is now allowed in conjunction with rest parameters (bug 1133298).
  • From now on, a mapped arguments object in non-strict functions is only provided if the function does not contain any rest parameters, any default parameters or any destructured parameters (bug 1175394).

Other changes

  • Generators and generator methods are no longer constructable as per ES2016 (bug 1191486).

Interfaces/APIs/DOM

DOM & HTML DOM

No change.

IndexedDB

  • A new feature called locale-aware sorting has been added allowing for the creation of indexes with a locale specified, which can then be used to sort data according to the rules of that locale (bug 871846). This is a non-standard Firefox-specific feature.

Service Workers

  • As per the specification, if ExtendableEvent.waitUntil() is called outside of the ExtendableEvent handler, Firefox will now throw an InvalidStateError; in addition, multiple calls to waitUntil() will now stack up, and the resulting promises will be added to the list of extend lifetime promises (bug 1180274).
  • PushMessageData methods have been implemented (bug 1149195).

WebRTC

  • The HTMLCanvasElement.captureStream() method has been activated by default (bug 1177276).
  • The non-standard constraint style option list for RTCOfferOptions has been deprecated and will be removed entirely in Firefox 44; see this post on the site compatibility blog for details.

Miscellaneous

  • The Battery Status API now uses the new promise syntax for Navigator.getBattery(), as specified in the recent evolution of the specificiation (bug 1050749).
  • The User-Agent header is no longer in the list of forbidden header names so it can now be set in a Fetch Headers object, via XHR XMLHttpRequest.setRequestHeader(),… (bug 1188932).
  • The MediaRecorder.MediaRecorder() constructor can now accept an options dictionary as a parameter, which allows you to set custom bitrates for the audio/video to be recorded (bug 1161276).
  • The PerformanceObserver interface, belonging to the Performance Timeline API has been implemented (bug 1165796).
  • The Frame Timing API has been added: the PerformanceRenderTiming and PerformanceCompositeTiming interfaces are now availble (bug 1191178).
  • The modern Screen Orientation API has been implemented: unprefixed Screen.orientation and the ScreenOrientation interface are now available (bug 1131470). The non-standard Screen.mozOrientation, Screen.onmozorientationchange, Screen.mozLockOrientation(), and Screen.mozUnlockOrientation() will be removed in the future.
  • Under Linux, like under Windows, Event.timeStamp now returns a DOMHighResTimeStamp (bug 1026803).
  • Experimental support for Selection events selectionchange and selectstart, as well as the Document.onselectionchange and GlobalEventHandlers.onselectstart event handlers property has been added (bug 571294). The selectionchange event is fired on the Document if the associated Selection object is concerned, or on the specific HTMLInputElement or HTMLTextAreaElement (bug 1196479). This feature is controlled by the dom.select_events.enabled preference, that defaults to false, except on Nightly.
  • Support for MouseEvent.offsetX and MouseEvent.offsetY have been activated on Firefox for Android and Firefox OS (bug 1204841).
  • The HTMLCanvasElement.mozFetchAsStream() method has been removed (bug 1206030).
  • The constructor Request() as well as fetch() will now raise a TypeError exception when used with a URL containing a username and password (bug 1195820).

MathML

No change.

SVG

No change.

Audio/Video

No change.

HTTP

No change.

Networking

No change.

Security

  • Access to Web Storage (i.e. localStorage and sessionStorage) from third-party IFrames is now denied if the user has disabled third-party cookies (bug 536509).
  • This whitelist has even been removed in Nightly and Aurora/Dev Edition of the browser (bug 1201023). It is currently scheduled that this removal will also happen for Beta and Release versions for the next version (Firefox 44).
  • Subresource integrity has been implemented for <script> and <link> that links to stylesheets (bug 992096).

Changes for add-on and Mozilla developers

Interfaces

No change

XUL

No change.

JavaScript code modules

No change.

XPCOM

No change.

Plugins

  • In preparation for future releases to switch over to multi-process content, NPAPI plugins can no longer be run in the same process as the page content. The preferences starting with dom.ipc.plugins are no longer used.

Other

No change.

See also

  • Site Compatibility for Firefox 43

Older versions

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

Document Tags and Contributors

Tags: 
  • Firefox
 Contributors to this page: Sebastianz, kdex, Sheppy, fscholz, Mostafa.S, teoli, poiru, fmarier, chrisdavidmills, jsx, wbamberg, SJW, franciov, kohei.yoshino, arai
 Last updated by: Sebastianz, Feb 7, 2017, 12:39:24 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