MDN will be in maintenance mode on Wednesday September 20th, starting at 10 AM Pacific / 5 PM UTC, for about 1 hour.

Firefox

Firefox 57 for developers

Draft
This page is not complete.

This article provides information about the changes in Firefox 57 that will affect developers. Firefox 57 is the current Nightly version of Firefox, and will ship on November 14, 2017.

Changes for Web developers

Quantum CSS enabled by default in Nightly

Firefox's new parallel CSS engine (also known as Stylo), part of Firefox Quantum, is newly-enabled by default in Firefox 57. Developers shouldn't notice anything significantly different, aside from a whole host of performance improvements. There are however a number of minor functional differences in Stylo, implemented to fix non-standard Gecko behavior that should be eliminated. We will report on such differences on reference pages and in the release notes as appropriate.

Developer Tools

No changes.

HTML

No changes.

CSS

Quantum CSS notes

  • Radial gradient values like radial-gradient(circle gold,red) will work in the old Gecko style system, even though they shouldn't because of the missing comma between circle and gold (bug 1383323). Quantum fixes this bug.
  • When you animate an offscreen element onscreen but specify a delay, Gecko does not repaint on some platforms, e.g. Windows (bug 1383239). This has been fixed in Quantum.
  • In Gecko, <details> elements can't be made open by default using the open attribute if they have an animation active on them (bug 1382124). Quantum fixes this.
  • In Gecko, transitions will not work when transitioning from a text-shadow with a color specified to a text-shadow without a color specified  (bug 726550). This has been fixed in Quantum.
  • In Gecko, filling animations (e.g. with animation-fill-mode: forwards set) don't trigger transitions set on that same element when finished or cancelled (see bug 1192592 and these test cases for more information). This has been fixed in Quantum.
  • Animations using em units are not affected by changes to the font-size on the animated element's parent in Gecko, whereas they should be (bug 1254424). Quantum CSS fixes this.
  • Gecko reuses the same mechanism used when parsing a url-token when parsing the domain() or url-prefix() URL matching functions for a @-moz-document rule. Quantum CSS does not use the same mechanism and it does not consider tokens invalid when they contain brackets or quotes (bug 1362333).
  • In Gecko, when you set a system font as the value of a canvas 2D context's font (e.g. menu), getting the font value fails to return the expected font (it returns nothing). This is fixed in Firefox's new parallel CSS engine (also known as Quantum CSS or Stylo, planned for release in Firefox 57) (bug 1374885).
  • In Gecko, when you create a detached subtree (e.g. a <div> created using createElement() that is not yet inserted into the DOM), the subtree's root element is set as a block-level element. In Quantum CSS this is set as inline, as per spec (bug 1374994).
  • In Gecko, calc() expressions are rejected — causing the value to be invalid — when used as the radius component of a radial-gradient() function (bug 1376019). Quantum CSS fixes this.
  • Gecko has a bug whereby length values are serialized into float values when converted into computed styles in the case of stroke-width, stroke-dashoffset, and stroke-dasharray. This has a few side effects, for example it may cause unexpected behaviour when animating these properties. Quantum CSS aims to fix this (bug 1379908).
  • In Gecko, calc(1*2*3) is not parsed successfully; Quantum CSS fixes this (bug 1379467).
  • In Quantum CSS, calc() is supported everywhere that the spec explains it should be (bug 1350857), including in media queries (bug 1390339). Gecko is not.

SVG

No changes.

JavaScript

No changes.

APIs

New APIs

No changes.

DOM

DOM events

No changes.

WebRTC

No changes.

Security

No changes.

Plugins

No changes.

Other

  • Data URLs are now treated as unique opaque origins, rather than inheriting the origin of the settings object responsible for the navigation (bug 1324406).

Removals from the web platform

HTML

No changes.

APIs

No changes.

SVG

No changes.

Changes for add-on and Mozilla developers

Starting in Firefox 57, all support for XPCOM-based add-ons has been removed. All extensions must be converted into the new browser extensions (also known as WebExtensions) or they will not work.

WebExtensions

No changes.

See also

Older versions

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, yisibl, jxn, topaxi, Sheppy
 Last updated by: chrisdavidmills,