Firefox 144 pour les développeurs
Cet article présente les changements de Firefox 144 qui concernent les développeur·euse·s. Firefox 144 est sorti le 14 octobre 2025 (angl.).
Changements pour les développeur·euse·s web
>HTML
- Les attributs
command
etcommandfor
de l'élément HTML<button>
sont désormais pris en charge. L'attributcommand
permet de définir l'action à effectuer, et l'attributcommandfor
permet d'associer le bouton à un autre élément sur lequel la commande agit. La commande peut être une valeur prédéfinie commeclose
ou une valeur personnalisée définie par vous. (bogue Firefox 1983523 (angl.)).
MathML
Suppressions
- La prise en charge de l'ancienne police MathML STIXGeneral a été supprimée. Le paramètre
mathml.stixgeneral_operator_stretching.disabled
a également été supprimé. (bogue Firefox 1336058 (angl.)).
CSS
- Les fonctionnalités CSS pour les transitions de vue dans les applications monopage (SPA) sont désormais prises en charge. Cela permet de styliser les différentes parties d'une animation de transition de vue. (bogue Firefox 1985809). Cela inclut :
- La pseudo-classe
:active-view-transition
- La propriété
view-transition-class
- La propriété
view-transition-name
- Le pseudo-élément
::view-transition
- Le pseudo-élément
::view-transition-group()
- Le pseudo-élément
::view-transition-image-pair()
- Le pseudo-élément
::view-transition-new()
- Le pseudo-élément
::view-transition-old()
- La pseudo-classe
JavaScript
- Les méthodes d'instance
Map.prototype.getOrInsert()
,Map.prototype.getOrInsertComputed()
,WeakMap.prototype.getOrInsert()
etWeakMap.prototype.getOrInsertComputed()
sont désormais prises en charge. Toutes ces méthodes retournent la valeur correspondant à une clé donnée si elle est présente. Si la clé n'est pas présente,getOrInsert()
insère et retourne un élément pour la clé et une valeur par défaut fournie, tandis quegetOrInsertComputed()
insère et retourne une valeur calculée dans une fonction de rappel fournie. (bogue Firefox 1979917 (angl.)).
APIs
- Les méthodes
lock()
etunlock()
de l'interfaceScreenOrientation
sont désormais prises en charge sur Android et sur les tablettes Windows. (bogue Firefox 1983483 (angl.)). - L'API View Transition est désormais prise en charge pour les applications monopage. Cela fournit un mécanisme pour créer facilement des transitions animées entre différentes vues d'un site web. (bogue Firefox 1985809 (angl.)).
- L'interface
CSSStyleProperties
du modèle objet CSS (CSSOM) est maintenant implémentée (elle a été renommée depuis l'interface non standardCSS2Properties
). La nouvelle interface est présente mais pas encore utilisée. (bogue Firefox 1919582 (angl.)). - La propriété
interactionId
de l'interfacePerformanceEventTiming
est un identifiant unique qui associe des événements liés à une même interaction utilisateur. Cela peut être utilisé pour calculer la métrique Interaction to next paint, qui aide à analyser la réactivité aux interactions utilisateur tout au long de la vie d'une page. (bogue Firefox 1956809 (angl.)).
DOM
- La méthode
moveBefore()
est désormais prise en charge sur les interfacesElement
,DocumentFragment
etDocument
. Cela permet de déplacer un enfant immédiat de l'objet, avant un autre de ses enfants. Contrairement àNode.insertBefore()
, les éléments déplacés conservent leur état. (bogue Firefox 1983688 (angl.)).
Média, WebRTC et Web Audio
- Les
<iframe>
inter-origines nécessitent désormais soit une interaction utilisateur (sticky activation), soit une autorisation explicite pour rediriger la page de niveau supérieur viawindow.top.location
. Voir Navigation de niveau supérieur dans les frames inter-origines pour plus d'informations. (bogue Firefox 1419501 (angl.)). - Les instances de
RTCDataChannel
sont désormais des objets transférables, et peuvent donc être passées aux workers. (bogue Firefox 1209163 (angl.)). - L'événement
closing
et le gestionnaire d'événementonclosing()
sont désormais pris en charge sur l'interfaceRTCDataChannel
. (bogue Firefox 1611953 (angl.)). - Les méthodes
getUserMedia()
etgetDisplayMedia()
de l'interfaceMediaDevices
prennent désormais en charge la contrainteresizeMode
. Cette contrainte permet aux développeur·euse·s de demander une vidéo qui respecte d'autres contraintes, comme la résolution et le taux de rafraîchissement, même si les contraintes demandées ne sont pas prises en charge par le matériel sous-jacent. Le navigateur peut alors rogner, réduire la résolution ou diminuer le taux de rafraîchissement de la vidéo capturée par une caméra, ou réduire la résolution (mais pas rogner) de la vidéo capturée à partir d'un écran ou d'une fenêtre. (bogue Firefox 1286945 (angl.)).
Suppressions
- Les événements obsolètes et non standard suivants ont été supprimés : l'événement
afterscriptexecute
et l'événementbeforescriptexecute
de l'interfaceDocument
, ainsi que l'événementafterscriptexecute
et l'événementbeforescriptexecute
de l'interfaceElement
. (bogue Firefox 1584269 (angl.)).
Conformité WebDriver (WebDriver BiDi, Marionette)
WebDriver BiDi
-
Implémentation du nouvel événement
browsingContext.downloadWillBegin
, émis lorsqu'un nouveau téléchargement est lancé, soit en cliquant sur un lien avec l'attributdownload
, soit en réponse à une requête réseau avec un en-têteContent-Disposition
indiquant une pièce jointe. (bogue Firefox 1874365 (angl.)). -
Implémentation de la nouvelle commande
emulation.setScreenOrientationOverride
, qui permet aux clients d'émuler différentes orientations d'écran. Cette commande ne se limite pas aux appareils mobiles, mais fonctionne aussi pour les applications de bureau. (bogue Firefox 1974167 (angl.)). -
Implémentation de la nouvelle commande
emulation.setTimezoneOverride
, qui permet aux clients de simuler un fuseau horaire spécifique. (bogue Firefox 1978027 (angl.)). -
Amélioration de la commande
emulation.setLocaleOverride
pour appliquer également les paramètres spécifiés aux bacs à sable précédemment créés via WebDriver BiDi. (bogue Firefox 1983807 (angl.)). -
Correction d'un bogue où la substitution de langue définie via
emulation.setLocaleOverride
était parfois partagée de manière incorrecte entre différents contextes de navigation au sein d'un même processus. (bogue Firefox 1980211 (angl.)). -
Amélioration de la commande
browsingContext.navigate
pour éviter les erreursNS_BINDING_ABORTED
causées par des redirections ou des interruptions survenant après la validation de la navigation. (bogue Firefox 1914407 (angl.)).
Marionette
-
L'algorithme
Scroll Into View
de WebDriver (angl.), utilisé par plusieurs commandes classiques WebDriver dans Marionette, revient à toujours utiliser le comportement de défilementinstant
. Cela annule le changement introduit dans Firefox 97, qui avait modifié le comportement enauto
. Ce retour en arrière vise à éviter des conditions de concurrence lors du défilement d'éléments utilisant le comportementsmooth
. (bogue Firefox 1986238 (angl.)). -
Prise en charge de
getBytesInUse()
pourstorage.local
etstorage.managed
. (bogue Firefox 1385832 (angl.)).
Changements pour les développeur·euse·s d'extensions
- Ajout de la possibilité de définir l'origine du style pour les injections CSS à partir de la clé de manifeste
"content_scripts"
, dansscripting.registerContentScripts()
avec la propriétécssOrigin
surscripting.RegisteredContentScript
, et la propriétécssOrigin
danscontentScripts.register
. L'origine du style peut être"user"
(pour ajouter le CSS comme feuille de style utilisateur) ou"author"
(pour l'ajouter comme feuille de style auteur). Par défaut, l'origine est"author"
. Ces propriétés ne sont pas sensibles à la casse. De plus, la valeur de la propriétéorigin
descripting.insertCSS()
n'est désormais plus sensible à la casse. (bogue Firefox 1679997 (angl.)). - Prise en charge de
getBytesInUse()
pourstorage.local
etstorage.managed
. (bogue Firefox 1385832 (angl.)). - Prise en charge de
getBytesInUse()
pourstorage.local
etstorage.managed
. (bogue Firefox 1385832 (angl.)).
Fonctionnalités web expérimentales
Ces fonctionnalités sont livrées dans Firefox 144 mais sont désactivées par défaut.
Pour les tester, recherchez la préférence appropriée dans la page about:config
et définissez-la sur true
.
Vous pouvez trouver d'autres fonctionnalités de ce type sur la page Fonctionnalités expérimentales.
-
Sélecteur d'heure pour datetime-local :
dom.forms.datetime.timepicker
.Les éléments HTML de type datetime-local (
<input type="datetime-local">
) incluent désormais un sélecteur d'heure. (bogue Firefox 1726108 (angl.)).