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

Firefox 40 for developers

In This Article
  1. Changes for Web developers
    1. Developer Tools
    2. CSS
    3. HTML
    4. JavaScript
    5. Interfaces/APIs/DOM
      1. New APIs
      2. Web Animations API
      3. CSSOM
      4. WebRTC
      5. DOM & HTML DOM
      6. Web Audio API
      7. Web Workers
      8. IndexedDB
      9. Dev Tools
    6. MathML
    7. SVG
    8. Audio/Video
  2. Networking
  3. Security
  4. Changes for add-on and Mozilla developers
    1. XUL
    2. JavaScript code modules
    3. XPCOM
    4. Other
  5. See also
  6. Older versions
To test the latest developer features of Firefox,
install Firefox Developer Edition
Firefox 40 was released on August 11, 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:

  • Improvements to the Animations view
  • Get help from MDN for CSS property syntax
  • Edit filters in the Page Inspector
  • Web Console now shows messages from workers
  • Filter requests by URL in the Network Monitor
  • Many new context menu options in the Network Monitor
  • Show when network resources are fetched from the browser cache
  • Filter rules in the Page Inspector

More:

  • Break at debugger; statements in unnamed eval sources
  • Copy URL/Open in New Tab context menu items for Debugger source list pane
  • console.dirxml support in the Web Console
  • Style Editor: "Open Link In New Tab" item added to stylesheet list
  • Inspector selector search now includes class/id results even without css prefix
  • Tooltips in box-model view saying which CSS rule caused the value
  • Switch between color unit format in the Inspector using Shift+click
  • Implement "Scroll Into View" menu item for the Inspector
  • Linkify url/id/resource attributes in the Inspector
  • IP address tooltip in the Network Monitor

Everything: all devtools bugs fixed between Firefox 39 and Firefox 40.

 

CSS

  • Prefixed rules (-moz-) for text-decoration-color, text-decoration-line, and text-decoration-style have been removed (bug 1097922).
  • The property text-align now supports the match-parent value (bug 645642).
  • In Quirks Mode, empty-cells now defaults to show, like in standard mode (bug 1020400).
  • The -moz-orient non-standard property, used to style <meter> and <progress> element has been adapted for vertical writing-modes: the value auto has been dropped and the values inline and  block added, with inline being the new default value (bug 1028716).
  • The property font-size-adjust has been fixed so that 0 is treated as a multiplier (leading to a 0 height for the font, hence hiding it) instead of the none value (leading to no adjustment, or a 1.0 value) (bug 1144885).
  • Fix text-overflow doesn't work in vertical writing mode (bug 1117227).

HTML

No change.

JavaScript

  • Unreachable code after return statement (including unreachable expression after semicolon-less return statements) will now show a warning in the console (bug 1005110, bug 1151931).
  • Symbol.match has been added (bug 1054755).
  • Passing an object which has a property named Symbol.match with a truthy value to String.prototype.startsWith, String.prototype.endsWith, and String.prototype.contains now throws a TypeError (bug 1054755).
  • RegExp function returns pattern itself if called without new and pattern object has a property named Symbol.match with a truthy value, and the pattern object's constructor property equals to  RegExp function. (bug 1147817).
  • Support for the non-standard JS1.7 destructuring for-in has been dropped (bug 1083498).
  • Non-standard initializer expressions in for...in loops are now ignored and will present a warning in the console. (bug 748550 and bug 1164741).
  • \u{xxxxxx} Unicode code point escapes have been added (bug 320500).
  • String.prototype.contains has been replaced with String.prototype.includes, String.prototype.contains is kept as an alias (bug 1102219).
  • If the DataView constructor is called as a function without the new operator, a TypeError is now thrown as per the ES2015 specification.
  • An issue regressed in Firefox 21, where proxyfied arrays without the get trap were not working properly, has been fixed. If the get trap in a Proxy was not defined, Array.length returned 0 and the set trap didn't get called. A workaround was to add the get trap even if was not necessary in your code. This issue has been fixed now (bug 895223).
  • WeakMap.prototype and WeakSet.prototype have been updated to be just ordinary objects, per ES2015 specification (bug 1055473).

Interfaces/APIs/DOM

New APIs

  • The Push API has been experimentally implemented (bug 1038811). Controlled by the services.push.enabled pref, it is disabled by default.

Web Animations API

Improvement in our experimental Web Animations implementation, mostly to match latest spec changes:

  • AnimationPlayer.currentTime now can also be set (bug 1072037).
  • Animatable.getAnimationPlayers(), available on Element has been renamed to Element.getAnimations() (bug 1145246).
  • Animation and AnimationEffect have been merged into the newly created KeyframeEffectReadOnly (bug 1153734).
  • AnimationPlayer has been renamed to Animation (bug 1154615).
  • AnimationTimeline is now an abstract class, with DocumentTimeline its only implementation (bug 1152171).

CSSOM

  • The CSS Font Loading API is now enabled by default in Nightly and Developer Edition releases (bug 1088437). It is still deactivated by default in Beta and Release browsers.
  • The CSSCharsetRule interface has been removed and such objects are no longer available in CSSOM (bug 1148694). This matches the spec (recently adapted) and Chrome behavior.

WebRTC

  • WebRTC: the negotiationneeded event is now also sent for initial negotiations, not only for re-negotiations (bug 1149838).

DOM & HTML DOM

  • When unable to parse the srcset,  the HTMLImageElement.currentSrc method doesn't return null anymore but "", as requested by the latest specification (bug 1139560).
  • Like for images, Firefox now throttles Window.requestAnimationFrame() for non-visible <iframe> (bug 1145439).
  • Navigator.taintEnabled is no longer available for Web workers (bug 1154878).

Web Audio API

New extensions to the Web Audio API:

  • The AudioContext.state and AudioContext.onstatechange properties as well as the methods AudioContext.suspend(), AudioContext.resume(), and AudioContext.close() have been added (bug 1094764).
  • AudioBufferSourceNode now implements the AudioBufferSourceNode.detune k-rate attribute (bug 1153783).

Web Workers

  • Slight improvement in our Service Worker API: the update() method has been moved from ServiceWorkerGlobalScope to ServiceWorkerRegistration (bug 1131350).
  • ServiceWorkerRegistration is now available in Web workers (bug 1131327).
  • DataStore is now available in Web workers (bug 916196).

IndexedDB

  • IDBTransaction are now non-durable by default (bug 1112702). This favors performance over reliability and matches what other browsers are doing. For more information, read our durability definition.

Dev Tools

  • The property Console.timeStamp has been added (bug 922221).

MathML

No change.

SVG

No change.

Audio/Video

No change.

Networking

No change.

Security

  • Using an asterisk (*) in a CSP does not include the schemes data:, blob: or :filesystem anymore when matching source expressions. So those schemes now need to be explicitly defined within the related header to match the CSP (bug 1086999).

Changes for add-on and Mozilla developers

XUL

  • It is no longer possible to create transparent top-level windows bug 1162649.

JavaScript code modules

  • Dict.jsm has been removed bug 1123309. Use Map instead.

XPCOM

  • The nsIClassInfo.implementationLanguage attribute has been removed, along with the nsClassInfo::GetImplementationLanguage() function.
  • The following XPCOM interfaces have been removed; you should use the standard HTML interfaces instead:
    • nsIDOMHTMLBRElement
    • nsIDOMDivElement
    • nsIDOMHTMLHeadingElement
    • nsIDOMHTMLTableCaptionElement
    • nsIDOMHTMLTableElement
    • nsIDOMHTMLTitleElement

Other

  • Places Keywords API has been deprecated and will be removed soon (bug 1140395).
  • The automated testing system now supports skipping individual test functions. See "Conditional test functions" in Writing xpcshell-based unit tests.

See also

  • Site Compatibility for Firefox 40

Older versions

  • 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
  • Firefox 11 for developers
  • Firefox 10 for developers
  • Firefox 9 for developers

Document Tags and Contributors

Tags: 
  • Firefox
  • Releases
 Contributors to this page: Sebastianz, kdex, Sheppy, yisibl, teoli, kohei.yoshino, fbender, mattbrundage, simonster, arai, fscholz, Havvy, chrisdavidmills, wbamberg, cpeterson, aru, adria, topaxi
 Last updated by: Sebastianz, Feb 7, 2017, 12:41:44 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