Firefox 91 for developers
This article provides information about the changes in Firefox 91 that will affect developers. Firefox 91 was released on August 10, 2021.
Note: See also Hopping on Firefox 91 on Mozilla Hacks.
Changes for web developers
HTML
No changes
CSS
- A fix to how the
pad
descriptor handles the negative sign (Firefox bug 1714445). - The
-moz-tab-size
property has been unprefixed to the standardtab-size
, and the prefixed version maintained as an alias (Firefox bug 737785).
Removals
- The non-standard
-moz-outline-radius
property has been removed (Firefox bug 1715984). The property has not been usable by web developers since Firefox 88, this completes the removal.
JavaScript
Intl.DateTimeFormat.prototype.formatRange()
andIntl.DateTimeFormat.prototype.formatRangeToParts()
are now supported in release builds. TheformatRange()
method returns a localized and formatted string for the range between twoDate
objects (e.g., "1/05/21 – 1/10/21"). TheformatRangeToParts()
method returns an array containing the locale-specific parts of a formatted date range (Firefox bug 1653024).- The
Intl.DateTimeFormat()
constructor allows four newtimeZoneName
options for formatting how the timezone is displayed. These include the localized GMT formatsshortOffset
andlongOffset
, and the generic non-location formatsshortGeneric
andlongGeneric
(Firefox bug 1653024). - The
Error()
constructor can now take the errorcause
as value in theoption
parameter. This allows code to catch errors and throw new/modified versions that retain the original error and stack trace (Firefox bug 1679653).
HTTP
- The Gamepad API now requires a secure context (Firefox bug 1704005).
APIs
DOM
- The Visual Viewport API is now enabled by default on Firefox desktop releases (it has been enabled on Firefox for Android since version 68). The API provides access to information describing the position of the visual viewport relative to the document, as well as to the window's content area. It also provides events that allow changes to the viewport to be monitored. (Firefox bug 1551302).
- The Gamepad API is now protected by
Feature-Policy: gamepad
. If disallowed by the Permission Policy, calls toNavigator.getGamepads()
will throw aSecurityError
DOMException
, and thegamepadconnected
andgamepaddisconnected
events will not fire. The defaultallowlist
is*
; this default will be updated toself
in a future release, in order to match the specification. (Firefox bug 1704005). Window.clientInformation
has been added as an alias forWindow.navigator
, in order to match recent specification updates and improve compatibility with other major browsers (Firefox bug 1717072).- Changing the playback speed of a media element (
<video>
or<audio>
) using theplaybackRate
attribute now works when the media element is captured to aMediaStream
or viaAudioContext.createMediaElementSource
(Firefox bug 1517199).
WebDriver conformance (Marionette)
- Fixed a bug, which caused the commands
WebDriver:AcceptAlert
andWebDriver:DismissAlert
to hang for user prompts as opened in a popup window (Firefox bug 1721982). - Fixed an inappropriate handling of the
webSocketUrl
capability, which would returntrue
ifwebSocketUrl
was not supported (Firefox bug 1713775).