Firefox 71 for Developers

This article provides information about the changes in Firefox 71 that will affect developers. Firefox 71 was released on December 3, 2019.

Changes for web developers

Developer tools

Console:

JavaScript debugger:

Network Monitor:

Page Inspector:

CSS

Removals

JavaScript

  • The Promise.allSettled() method is now supported (Firefox bug 1549176). This method lets you easily wait until every promise in a set of promises is either fulfilled or rejected before running further code.

Removals

  • The non-standard Array generic methods have been removed in Firefox 71 (Firefox bug 1222547). They were first introduced in Firefox 1.5 and deprecated from Firefox 68 onwards. If your use case is to use array generics on array-like objects, you can convert your object to a proper array using Array.from() and then use standard array methods.

MathML

  • MathML elements now implement a MathML DOM and their class is MathMLElement. With a proper MathML DOM, you can now use mathmlEl.style, or global event handlers, for example. Prior to this change, MathML elements only implemented the Element class (Firefox bug 1571487).

APIs

New APIs

The Media Session API is now partially implemented. This API provides a standard mechanism for your content to share with the underlying operating system information about the state of media it's playing. This includes metadata such as artist, album, and track name, as well as potentially album artwork (Firefox bug 1580602).

The API also provides a way to receive notifications when the device's media controls (such as play, pause, and seek buttons) are activated by the user. To that end, the MediaSession interface is now partially implemented, with support for setting and fetching the currently-playing media's metadata and for the setActionHandler() method. To access the MediaSession API, use the navigator.mediaSession property.

DOM

Media, Web Audio, and WebRTC

Canvas and WebGL

Removals

The following non-standard DataTransfer members have been removed (Firefox bug 1345192):

  • DataTransfer.mozItemCount
  • DataTransfer.mozClearDataAt()
  • DataTransfer.mozGetDataAt()
  • DataTransfer.mozSetDataAt()
  • DataTransfer.mozTypesAt()

WebDriver conformance (Marionette)

  • Both the WebDriver:TakeScreenshot and WebDriver:TakeElementScreenshot commands have been updated to respect the unhandled prompt behavior setting (Firefox bug 1584927).
  • The command Marionette:Quit has been updated to also allow quitting or restarting of other Gecko-driven applications besides Firefox (Firefox bug 1298921).
  • For GeckoView-based browsers on Android, the returned browserName in the session capabilities will now always be firefox (Firefox bug 1587364).

Changes for add-on developers

API changes

  • downloads.download now identifies and reports as errors the following HTTP response codes:
    • 404 returning SERVER_BAD_CONTENT
    • 403 returning SERVER_FORBIDDEN
    • 402 and Proxy 407 returning SERVER_UNAUTHORIZED
    • Anything else above 400 returning SERVER_FAILED (Firefox bug 1576333)
  • downloads.download now includes the optional options parameter property allowHttpErrors. When set to true, this boolean flag enables a download to continue after encountering an HTTP error. When set to false, a download is canceled when an HTTP error is encountered. Default value: false. (Firefox bug 1578955)

Removals

See also

Older versions