Firefox 75 for developers
This article provides information about the changes in Firefox 75 that will affect developers. Firefox 75 was released on April 7, 2020.
See also the accompanying hacks post — Firefox 75: Ambitions for April.
Changes for web developers
Developer tools
- It is now possible to resize the rectangle of the Measuring Tool (Firefox bug 1152321).
- In the inspector, you can now use XPath expressions to locate elements, in addition to locating elements using CSS selectors as before (Firefox bug 963933).
- You can now filter WebSocket messages using regular expressions, in addition to plain text search, by writing the regular expression in slashes (Firefox bug 1593837).
HTML
- The
loading
attribute of the<img>
element has now been implemented. This string value can be used to specify that the image should be lazily loaded, by setting its value tolazy
(Firefox bug 1542784). - The value of the
<style>
element'stype
attribute is now restricted totext/css
only, as per the spec (Firefox bug 1614329).
CSS
- Support for the
min()
,max()
, andclamp()
functions has been implemented (Firefox bug 1519519). - The
all
value of thetext-decoration-skip-ink
property has been added (Firefox bug 1611965)
Accessibility
New ARIA roles and attributes are now exposed in Firefox, on Windows and Linux (bear in mind that these still won't be usable until screen readers start to support them):
aria-description
(Firefox bug 1608961).role="mark"
androle="suggestion"
(Firefox bug 1608965).role="comment"
(Firefox bug 1608969).- Multiple IDs on
aria-details
(Firefox bug 1608883).
Note: On macOS, we are first waiting for Apple to define what Safari will expose as Apple-dialect attributes to VoiceOver, and will then follow suit.
JavaScript
- Public static class fields are now supported (Firefox bug 1535804).
- The
Intl.Locale
class is now supported (Firefox bug 1613713). - The
Function.caller
property has been updated to be aligned with the latest ECMAScript spec proposal. Previously throwing aTypeError
, it now returnsnull
if the caller is a strict, async, or generator function (Firefox bug 1610206).
APIs
DOM
- The
HTMLFormElement
interface has a new method,requestSubmit()
. Unlike the old (and still available)submit()
method,requestSubmit()
acts as if a specified submit button has been clicked, rather than just sending the form data to the recipient. Thus thesubmit
event is delivered and the form is checked for validity prior to the data being submitted (Firefox bug 1613360). - The
submit
event is now represented by an object of typeSubmitEvent
rather than a simpleEvent
.SubmitEvent
includes a newsubmitter
property, which is theElement
that was invoked to trigger the form submission. With this event, you can have a single handler for submit events that can discern which of multiple submit buttons or links was used to submit the form (Firefox bug 1588715). - Calling the
click()
method on a detached element (one not part of a DOM tree) now functions normally, leading to aclick
event being sent to it (Firefox bug 1610821).
Web animations API
Firefox 75 sees numerous additions to the Web Animations API:
-
Implicit to/from keyframes are now supported, as is automatically removing filling animations that have been replaced by other indefinitely filling animations (Firefox bug 1618773). This includes enabling of support for:
-
The
Animation.timeline
getter,Document.timeline
,DocumentTimeline
, andAnimationTimeline
features are now enabled by default (Firefox bug 1619178). -
The
Document.getAnimations()
andElement.getAnimations()
methods are now enabled by default (Firefox bug 1619821).
Media, Web Audio, and WebRTC
- The
RTCPeerConnection.setLocalDescription()
method can now be called without arguments, in which case the WebRTC runtime will try to create the new local session description itself (Firefox bug 1568292).
HTTP
No changes.
Security
- CSP nonces from non-script sources, such as CSS selectors, and
.getAttribute("nonce")
calls, are now hidden. Instead, check the.nonce
property to access nonces from scripts (Firefox bug 1374612).
Plugins
No changes.
WebDriver conformance (Marionette)
- Fixed a bug that always caused Marionette to initialize when Firefox starts-up. It has been limited to the command line argument and environment variable now (Firefox bug 1622012).
- Fixed
WebDriver:Print
to no longer add extra margins to the document (Firefox bug 1616932). - Changed the preference value for
network.http.speculative-parallel-limit
to0
, to no longer force-disable speculative connections (Firefox bug 1617869).
Other
No changes.
Changes for add-on developers
API changes
-
We've added some new settings in
browserSettings
(Firefox bug 1286953):browserSettings.zoomSiteSpecific
to control whether zooming is on a per-site or per-tab basisbrowserSettings.zoomFullPage
to control whether zoom is applied to the entire page or to text only.
-
The name of the file used when saving a PDF with
tabs.saveAsPDF
can be specified usingtoFileName
in the typetabs.PageSettings
.(Firefox bug 1483590)
Manifest changes
- The "privacy" permission is now optional. (Firefox bug 1618399)
Older versions
- Firefox 74 for developers
- 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