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

Firefox 35 for developers

In This Article
  1. Changes for Web developers
    1. Developer Tools
    2. CSS
    3. HTML
    4. JavaScript
    5. Interfaces/APIs/DOM
    6. MathML
    7. SVG
    8. Audio/Video
  2. Network & Security
  3. Changes for add-on and Mozilla developers
    1. XUL & Add-ons
    2. Add-on SDK
      1. Highlights
      2. Details
  4. See also
  5. Older versions
Firefox 35 was released on January 13th, 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:

  • See ::before and ::after pseudo elements in the Page Inspector
  • CSS source maps are now enabled by default
  • "Show DOM Properties" from the Page Inspector

All devtools bugs fixed between Firefox 34 and Firefox 35.

CSS

  • The mask-type property has been activated by default (bug 1058519).
  • The filter property is now activated by default (bug 1057180).
  • The @font-face at-rule now supports WOFF2 fonts (bug 1064737).
  • The symbols() functional notation is now supported (bug 966168).
  • The CSS Font Loading API has been implemented (bug 1028497).
  • Using -moz-appearance with the none value on a combobox now remove the dropdown button (bug 649849).
  • The property accessor element.style["css-property-name"] has been added to match other browsers (bug 958887).

HTML

  • The obsolete and non-conforming bottommargin, leftmargin, rightmargin and topmargin attributes of the <body> element have been activated in non-quirks mode (bug 95530).

JavaScript

  • The "temporal dead zone" for let declarations has been implemented. In conformance with ES2015 let semantics, the following situations
    now throw errors. See also this newsgroup announcement and bug 1001090.
    • Redeclaring existing variables or arguments using let within the same scope in function bodies is now a syntax error.
    • Using a variable declared using let in function bodies before the declaration is reached and evaluated is now a runtime error.
  • ES2015 Symbols (only available in the Nightly channel) have been updated to conform with recent specification changes:
    • String(Symbol("1")) now no longer throws a TypeError; instead a string ("Symbol(1)") gets returned (bug 1058396).
  • The various TypedArray constructors now have as their [[Prototype]] a single function, denoted %TypedArray%  in ES2015 (but otherwise not directly exposed).  Each typed array prototype now inherits from %TypedArray%.prototype.  (%TypedArray% and %TypedArray%.prototype inherit from Function.prototype and Object.prototype, respectively, so that typed array constructors and instances still have the properties found on those objects.)  Typed array function properties now reside on %TypedArray%.prototype and work on any typed array.  See TypedArray and bug 896116 for more information.
  • ES2015 semantics for prototype mutations using object literals have been implemented (bug 1061853).
    • Now only a single member notated as __proto__:value will mutate the [[Prototype]] in the object literal syntax.
    • Method members like __proto__() {} will not overwrite the [[Prototype]] anymore.

Interfaces/APIs/DOM

  • The NavigatorLanguage interface is now available to workers on WorkerNavigator (bug 925849).
  • The Element.closest() method returns the closest ancestor of the current element (bug 1055533).
  • Experimental support for the CanvasRenderingContext2D.filter property has been added behind the canvas.filters.enabled flag (bug 927892).
  • Our experimental implementation of Web Animations progresses with the landing of the Animation.target property. This always is behind the dom.animations-api.core.enabled pref, off by default (bug 1067701).
  • The hasAttributes() method has been moved from Node to Element as required by the spec (bug 1055773).
  • The crossOrigin reflected attribute of HTMLImageElement, HTMLLinkElement, HTMLMediaElement, HTMLScriptElement, and SVGScriptElement only accepts valid values, and "" isn't, null has to be used instead (bug 880997).
  • The Resource Timing API has been activated by default (bug 1002855).
  • To match the spec, the first argument of Selection.containsNode() cannot be null anymore (bug 1068058).
  • The new ImageCapture API has been implemented: ImageCapture.takePhoto() is available (bug 916643).
  • Non-HTTP XMLHttpRequest requests now return 200 in case of success (instead of the erroneous 0) (bug 716491).
  • XMLHttpRequest.responseURL has been adapted to the latest spec and doesn't include the fragment ('#xyz') of the URL, if relevant (bug 1073882).
  • The internal, non-standard, File.mozFullPath property is no more visible from content (bug 1048293).
  • The constructor of File has been extended to match the specification (bug 1047483).
  • An experimental implementation of AbortablePromise, a promise that can be aborted by a different entity that the one who created it, has been added. It is prefixed with Moz and controlled by the dom.abortablepromise.enabled property, defaulting to false (bug 1035060).
  • The non-standard Navigator.mozIsLocallyAvailable property has been removed (bug 1066826).
  • The preference network.websocket.enabled, true by default, has been removed; Websocket API cannot be deactivated anymore (bug 1091016).
  • The non-standard methods and properties of Window.crypto have been removed (bug 1030963). Only methods and properties defined in the standard WebCrypto API are left.
  • Our experimental implementation of WebGL 2.0 is going forward!
    • The WebGL2RenderingContext.copyBufferSubData() method has been implemented (bug 1048668).

MathML

  • The dtls OpenType feature (via the CSS font-feature-settings on the default stylesheet) is now applied automatically to MathML elements when positioning scripts over it (e.g. dotless i with mathematical hat).

SVG

No change.

Audio/Video

No change.

Network & Security

  • HTTP/2 has been implemented and activated, with AEAD ciphers only (bug 1027720 and bug 1047594).
  • The HTTP/2 alt-svc header is now supported (bug 1003448).
  • The Public Key Pinning Extension for HTTP (HPKP) has been implemented (bug 787133).
  • The CSP 1.1 base-uri directive is now supported (bug 1045897).
  • Path of the source is now considered too when host-source matching happens in CSP (bug 808292).

Changes for add-on and Mozilla developers

XUL & Add-ons

  • The private _getTabForBrowser() method on the tabbrowser element has been deprecated. In its place, we've added a new, public, method called getTabForBrowser. This returns, predictably, the tab element that contains the specified browser.
  • Components.utils.now(), matching Performance.now() has been implemented for non-window chrome code (bug 969490).

Add-on SDK

Highlights

  • Added access keys for context menu.
  • Removed isPrivateBrowsing from BrowserWindow.
  • added toJSON method to URL instances from sdk/url

Details

GitHub commits made between Firefox 34 and Firefox 35. This will not include any uplifts made after this release entered Aurora.

Bugs fixed between Firefox 34 and Firefox 35. This will not include any uplifts made after this release entered Aurora.

See also

  • Site Compatibility for Firefox 35

Older versions

  • 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
  • Firefox 8 for developers
  • Firefox 7 for developers
  • Firefox 6 for developers
  • Firefox 5 for developers
  • Firefox 4 for developers
  • Firefox 3.6 for developers
  • Firefox 3.5 for developers
  • Firefox 3 for developers
  • Firefox 2 for developers
  • Firefox 1.5 for developers

Document Tags and Contributors

Tags: 
  • Firefox
  • Releases
 Contributors to this page: Sebastianz, kdex, kohei.yoshino, teoli, evold, Jorge.villalobos, jsx, jroschen, Sheppy, arai, fscholz, wbamberg, evilpie, Mathiasdm, fred.wang, Waldo
 Last updated by: Sebastianz, Feb 7, 2017, 1:41:47 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