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
- The
$x()
web console helper's third argument (result type) now accepts simple string values as well asXPathResult
constants (bug 1602591). - Freshly landed support for the optional chaining operator "?." which can also be used with Console's autocomplete (bug 1594009).
- The Debugger can now inspect and debug nested workers (bug 1590766)
HTML
No changes.
CSS
text-underline-position
is now enabled by default (bug 1606997).- The
text-underline-offset
andtext-decoration-thickness
properties now accept percentage values (bug 1607534). - The
auto
value of theoutline-style
property has been enabled by default (Firefox bug 1031664).
Removals
- The
-moz-
prefixed-Multiple-column layout properties have been removed (Firefox bug 1308636).
SVG
No changes.
JavaScript
- The Optional chaining operator has been implemented (Firefox 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 thedocument.location
property, for example) was the originatingjavascript:
URL; it is now correctly the URL of the document thejavascript:
URL was evaluated in (Firefox bug 836567).
Removals
- The
Object.toSource()
method and the global functionuneval()
are no longer available for use by web content or extensions (bug 1565170).
APIs
DOM
- The
IDBTransaction.commit()
method has been implemented (Firefox bug 1497007).
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 (Firefox 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
TextMetrics
interface has been extended to contain four more properties measuring the actual bounding box —actualBoundingBoxLeft
,actualBoundingBoxRight
,actualBoundingBoxAscent
, andactualBoundingBoxDescent
. Text metrics can be retrieved using theCanvasRenderingContext2D.measureText()
method (Firefox bug 1102584).
Removals
- The non-standard
IDBDatabase.mozCreateFileHandle()
method has been removed, in favor of the (also non-standard)IDBDatabase.createMutableFile()
method (Firefox bug 1024312). - The non-standard
IDBMutableFile.getFile()
method has been removed (Firefox bug 1607791). - The non-standard
HTMLCanvasElement
methodmozGetAsFile()
has been removed, after being deprecated several years ago (Firefox bug 1588980). - The
FetchEvent
propertyisReload
has been removed, from both Firefox and the specification (Firefox bug 1264175).
HTTP
- The
Cross-Origin-Resource-Policy
header is now enabled by default (bug 1602363).
Security
- 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 (Firefox bug 1606734).
- Starting in Firefox 74, when a site delegates permission to access a resource to embedded content in an
<iframe>
using theallow
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 theallow
attribute, the<iframe>
is immediately denied access without prompting the user Firefox bug 1483631.
Plugins
No changes.
WebDriver conformance (Marionette)
- Added
WebDriver:Print
to print the current page as a PDF document (Firefox 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 (Firefox bug 1398087, Firefox bug 1606794).- Using
Webdriver:TakeScreenshot
'sfull
argument causes the complete page to be captured (Firefox bug 1571424).
Changes for add-on developers
API changes
- Shortcut keys can now be unassigned in
Commands.update
by passing an empty value ofshortcut
Firefox bug 1475043. urlClassification
s are now returned as part of thedetails
in each event ofwebRequest
, providing information on whether a request is classified as fingerprinting or tracking Firefox bug 1589494.
Manifest changes
No changes.
See also
- Hacks blog post: Security means more with Firefox 74
Older versions
- Firefox 73 for developers
- Firefox 72 for developers
- Firefox 71 for developers
- Firefox 70 for developers
- Firefox 69 for developers
- Firefox 68 for developers
- Firefox 67 for developers
- Firefox 66 for developers
- Firefox 65 for developers
- Firefox 64 for developers
- Firefox 63 for developers
- Firefox 62 for developers
- Firefox 61 for developers
- Firefox 60 for developers
- Firefox 59 for developers
- Firefox 58 for developers
- Firefox 57 for developers
- Firefox 56 for developers
- Firefox 55 for developers
- Firefox 54 for developers
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers