Firefox 74 for developers

This article provides information about the changes in Firefox 74 that will affect developers. Firefox 74 was released on March 10, 2020.

Changes for web developers

Developer tools

Web console


No changes.




No changes.


  • The Optional chaining operator has been implemented (bug 1566143).
  • When a JavaScript URL (javascript:) is evaluated and the result is a string, this string is parsed to create an HTML document, which is then presented. Previously, this document's URL (as reported by the document.location property, for example) was the originating javascript: URL; it is now correctly the URL of the document the javascript: URL was evaluated in (bug 836567).


  • The Object.toSource() method and the global function uneval() are no longer available for use by web content or extensions (bug 1565170).



DOM events

  • Firefox 74 now supports the languagechange_event event and its companion event handler property, onlanguagechange, which is triggered when the user changes their preferred language (bug 1154779). This was previously listed in our compatibility database as supported from Firefox 3.5, but this was in error.

Canvas and WebGL


  • The non-standard IDBDatabase.mozCreateFileHandle() method has been removed, in favor of the (also non-standard) IDBDatabase.createMutableFile() method (bug 1024312).
  • The non-standard IDBMutableFile.getFile() method has been removed (bug 1607791).
  • The non-standard HTMLCanvasElement method mozGetAsFile() has been removed, after being deprecated several years ago (bug 1588980).
  • The FetchEvent property isReload has been removed, from both Firefox and the specification (bug 1264175).



  • TLS 1.0 and 1.1 support has been removed from Firefox; you'll need to make sure your web server supports TLS 1.2 or 1.3 going forward. From now on, Firefox will return a Secure Connection Failed error when connecting to servers using the older TLS versions (bug 1606734).
  • Starting in Firefox 74, when a site delegates permission to access a resource to embedded content in an <iframe> using the allow attribute, and the embedded page requests permission to use that resource, the parent page prompts the user for permission to use the resource and share it with the embedded domain, rather than both the outer and inner pages prompting the user for permission. If the outer page doesn't have the permission requested by the allow attribute, the <iframe> is immediately denied access without prompting the user bug 1483631.


No changes.

WebDriver conformance (Marionette)

  • Added WebDriver:Print to print the current page as a PDF document (bug 1604506).
  • Webdriver:TakeScreenshot now always captures the top-level browsing context and not the currently-selected browsing context, if no element to capture has been specified (bug 1398087, bug 1606794).
  • Using Webdriver:TakeScreenshot's full argument causes the complete page to be captured (bug 1571424).

Changes for add-on developers

API changes

  • Shortcut keys can now be unassigned in Commands.update by passing an empty value of shortcut bug 1475043.
  • urlclassifications are now returned as part of the details in each event of webrequest, providing information on whether a request is classified as fingerprinting or tracking bug 1589494.

Manifest changes

No changes.

See also

Older versions