Firefox 70 for developers

This article provides information about the changes in Firefox 70 that will affect developers. Firefox 70 was released on October 22, 2019.

Changes for web developers

Developer tools

Debugger updates

  • In the Debugger you can now set breakpoints for DOM Mutation, so execution will pause when a node or its attibutes are changed or when a node is removed from the DOM (bug 1576219).
  • The Debugger now shows an overlay on the page when it is paused, with basic stepping buttons to let you step and continue (bug 1574646).
  • The Debugger now shows sources that already got discarded by the engine (usually scripts that execute once during page load), so you can properly set breakpoints to debug when they execute next (bug 1572280).
  • The Debugger's scopes panel grouping has been simplified, consolidating additional scopes previously shown above the top level function (e.g. blocks created by let, with, or if/else) (bug 1448166)
  • The Debugger now retains the currently selected and expanded variables in the scopes panel while stepping (bug 1405402).
  • The Debugger now handles stepping over async functions correctly, making asynchronous function debugging easier (bug 1570178).
  • When debugging in Container sessions (useful for testing different logins), the sources in the debugger are now shown correctly (bug 1375036).
  • debugger statements can be now disabled in the Debugger by setting a breakpoint on them and switching the breakpoints to "Never pause here" (bug 925269).

Other updates

HTML

  • Firefox can now suggest securely-generated passwords to the user in the following situations:
    • An <input> element has the autocomplete="new-password" attribute value.
    • The user opens the context menu on any password input element, even if it is not intended for new passwords.

CSS

Removals

SVG

  • Cut, copy, and paste events are now dispatched to SVG graphics elements (bug 1569474).

MathML

  • The deprecated mode attribute on <math> elements has been removed (bug 1573438).
  • Non-zero unitless length values, such as 5 for 500%, are no longer supported.
  • Length values ending with a dot, such as 2. or 34.px, are also unsupported now.

JavaScript

APIs

DOM

Workers/Service workers

Media, Web Audio, and WebRTC

Canvas and WebGL

HTTP

  • The default referrer policy for third-party tracking resources is now strict-origin-when-cross-origin when Enhanced Tracking Protection is turned on (bug 1569996).
  • The size of the Referer request header is now limited to 4 KB (4,096 bytes). If an overly long referer exceeds the defined limit, only the origin part will be sent (bug 1557346).
  • The HTTP cache is now partitioned per the top-level document's origin (bug 1536058).

Removals

WebDriver conformance (Marionette)

  • Updated the WebDriver:TakeScreenshot command to be Fission compatible. It means that content from cross-origin iframes is now included in a page's screenshot. Or when using it from chrome scope that the active tab's content is visible now inside the browser window. (bug 1559592).
  • WebDriver:TakeScreenshot no longer accepts a list of DOM elements as used for highlighting (bug 1575511).
  • WebDriver:ExecuteScript and WebDriver:ExecuteAsyncScript no longer sets window.onunload in ways that are web-exposed (bug 1568991).

Changes for add-on developers

API changes

  • Added a new parameter to the topSites.get() method that causes the method to return the list of pages that appear when the user opens a new tab (bug 1568617).
  • The privacy.network property's WebRTCIPHandlingPolicy sub-property's permitted values have been amended (in bug 1452713) to match the behavior seen in Chrome as follows:
    • disable_non_proxied_udp previously prevented the use of WebRTC if no proxy was configured. Now a proxy is always used if one is configured, but otherwise a non-proxied connection is permitted.
    • proxy_only can be used to provide the old behavior; this has the effect of only allowing ICE negotiation over TURN on TCP using a proxy; no other connections are allowed.

Manifest changes

Removals

The following theme key properties, which provided aliases for theme keys used in chromium-based browsers, were removed:

  • images property headerURL, themes should now use theme_frame.
  • colors properties:
    • accentcolor, themes should now use frame.
    • textcolor, themes should now use tab_background_text.

See also

Older versions