Firefox 108 for developers
This article provides information about the changes in Firefox 108 that will affect developers. Firefox 108 was released on December 13, 2022.
Changes for web developers
>HTML
- The
<source>
element supportsheight
&width
attributes when it is a child of a<picture>
element. This functionality can be configured via thedom.picture_source_dimension_attributes.enabled
preference which is now set totrue
by default (Firefox bug 1795953).
CSS
- Trigonometric functions are now enabled with the
layout.css.trig.enabled
preference set totrue
by default. This allows the use ofsin()
,cos()
,tan()
,asin()
,acos()
,atan()
, andatan2()
functions (Firefox bug 1774589, Firefox bug 1787070). - CSS
<calc-constant>
type is implemented to allow for well-known constants such aspi
ande
within math functions (Firefox bug 1682444, Firefox bug 1787070). - Container query length units are now supported via the
layout.css.container-queries.enabled
preference, which is set tofalse
by default. Setting this preference totrue
allows the use ofcqw
,cqh
,cqi
,cqb
,cqmin
, andcqmax
units of length which are relative to the size of a query container. For more information on these units, see the CSS Container Queries documentation (Firefox bug 1744231). - The
font-variant-emoji
property is now supported via thelayout.css.font-variant-emoji.enabled
preference, which is set tofalse
by default. This property allows you to set a default presentation style for displaying emojis (Firefox bug 1461589).
JavaScript
No notable changes
HTTP
Content-Security-Policy
HTTP header directivesstyle-src-elem
andstyle-src-attr
are now supported. A server can use these to specify valid sources for stylesheet<style>
elements and<link>
elements withrel="stylesheet"
, and for styles applied to individual elements, respectively (Firefox bug 1529338).Content-Security-Policy
HTTP header directivesscript-src-elem
andscript-src-attr
are now supported. A server can use these to specify valid sources for JavaScript<script>
elements, and for inline script event handlers likeonclick
, respectively (Firefox bug 1529337).Content-Security-Policy
violation reports now includeeffective-directive
andstatus-code
properties. For more information, see Violation report syntax (Firefox bug 1192684).
APIs
- Import maps are now supported. Import maps provide flexibility and additional control over how browsers resolve module specifiers when importing JavaScript modules. (Firefox bug 1795647).
Media, WebRTC, and Web Audio
- The Web MIDI API is now available in secure contexts.
Calls to
navigator.requestMIDIAccess()
will prompt users with active MIDI devices to install a Site Permission Add-On, which is required to enable the API. For more information see Firefox bug 1795025.
WebDriver conformance (WebDriver BiDi, Marionette)
WebDriver BiDi
- Following a change in the specification, log entry level
"warning"
was renamed to"warn"
(Firefox bug 1797115). - When using
script.evaluate
andscript.callFunction
with a sandbox name equal to an empty string, the evaluation will now be done using the default realm (Firefox bug 1793589). - Added support for the
browsingContext.domContentLoaded
event (Firefox bug 1756610).
Marionette
- Added support for the
tiltX
,tiltY
andtwist
properties of pointer actions forWebDriver:PerformActions
(Firefox bug 1793832). - Fixed a bug where
WebDriver:GetElementText
wasn't returning the element text for pretty-printed XML (Firefox bug 1794099). HTMLDocument
is no longer serialized as aWebElement
reference (Firefox bug 1793920).WebDriver:NewWindow
now opens a window with anabout:blank
tab instead ofabout:newtab
(Firefox bug 1533058).
Changes for add-on developers
- Firefox now issues a warning when an extension is installed if its version number doesn't follow the recommended format (Firefox bug 1793925).