Firefox 148 note de version pour les développeurs
Cet article présente les informations concernant les changements de Firefox 148 qui concernent les développeur·euse·s. Firefox 148 est sorti le 24 février 2026 (angl.).
Changements pour les développeur·euse·s web
>HTML
- Le document initial
about:blankse charge désormais de manière synchrone. La première navigation d'un contexte de navigation peut aboutir àabout:blank(par exemple, lorsque l'URL initiale est vide ou explicitement définie surabout:blank). Dans ces cas, Firefox ne remplace plus le document vide initial par un second document chargé de manière asynchrone, et déclenche à la place l'évènementloadde manière synchrone sur le document initial. (bogue Firefox 543435 (angl.)).
CSS
-
La propriété
position-areadans le positionnement par ancrage CSS maintient désormais correctement l'élément ancré à l'intérieur de la zone d'affichage. (bogue Firefox 2008537 (angl.)). -
La propriété
position-try-orderdans le positionnement par ancrage CSS est désormais prise en charge et permet de changer l'ordre dans lequel les options de repli de position sont essayées en fonction de l'espace disponible. Cela affecte également la propriété abrégéeposition-try. (bogue Firefox 1989059 (angl.)). -
Les propriétés CSS
overflow,overflow-xetoverflow-ypeuvent désormais être utilisées sur les éléments remplacés comme les images, de la même manière qu'elles sont utilisées avec d'autres éléments. Auparavant, les éléments remplacés étaient toujours rognés à leur conteneur englobant. (bogue Firefox 1999100 (angl.)). -
La fonction CSS
shape()est désormais disponible par défaut.shape()est un type de donnée<basic-shape>qui permet de définir une forme dans les propriétésclip-pathetoffset-pathen utilisant une ou plusieurs « commandes de forme ». Ces commandes sont très similaires aux commandes de tracé SVG. La fonctionshape()est similaire à certains égards à la fonctionpath(), mais contrairement àpath(), qui utilise la syntaxe de chemin SVG,shape()utilise la syntaxe CSS standard. Cela permet d'utiliser des unités CSS et des fonctions mathématiques CSS, ce qui facilite la création et la modification de formes. (bogue Firefox 1982941 (angl.)).
JavaScript
-
Les méthodes statiques
Iterator.zip()etIterator.zipKeyed()sont désormais prises en charge. Elles « compressent » plusieurs itérateurs d'entrée ensemble, retournant un nouvel itérateur qui produit le groupe d'éléments d'entrée à chaque étape d'itération. Elles sont utiles lorsque vous devez combiner des données provenant de plusieurs itérateurs d'entrée qui sont alignés positionnellement (la première valeur produite par le premier itérateur correspond à la première valeur produite par les autres itérateurs, et ainsi de suite). (bogue Firefox 2003333 (angl.)). -
La proposition TC39 Legacy RegExp features in JavaScript (angl.) a été implémentée. Cela met à jour
RegExp.prototype.compile()de sorte qu'uneTypeErrorest levée si elle est appelée sur une sous-classe deRegExp, ou si la méthode est appelée sur unRegExpqui a été défini dans un autre domaine. Les propriétés statiques deRegExp, telles queRegExp.$1—RegExp.$9etRegExp.input(et son aliasRegExp.$_), sont normalisées pour être configurables et non énumérables. Cela signifie en particulier qu'elles peuvent être supprimées de l'objetRegExp. (bogue Firefox 1306461 (angl.)).
API
-
L'API Trusted Types est désormais prise en charge. Elle fournit des mécanismes pour garantir que les propriétés et fonctions qui peuvent potentiellement être utilisées comme vecteurs d'attaques XSS ne peuvent être appelées qu'avec des données ayant été passées par une fonction de transformation. Les mécanismes permettent d'auditer les utilisations qui ne sont pas sûres du code. Ils n'imposent pas la manière dont les données sont transformées, mais peuvent, par exemple, être utilisés pour assainir des éléments HTML qui ne sont pas sûrs provenant de chaînes de caractères fournies par l'utilisateur·ice. (bogue Firefox 1994690 (angl.)).
-
La propriété
Location.ancestorOriginsest désormais prise en charge, ce qui permet de déterminer si un document est intégré dans un<iframe>et, le cas échéant, par quel(s) site(s). (bogue Firefox 1085214 (angl.)). -
Les propriétés
movementXetmovementYsur l'évènementpointerrawupdatesont désormais renseignées lorsque le pointeur est déplacé — auparavant, elles étaient définies à zéro. (bogue Firefox 1987671 (angl.)). -
La méthode
NavigationPrecommitController.addHandler()de l'API Navigation est désormais prise en charge. Elle peut être utilisée pour enregistrer dynamiquement un gestionnaire de navigation post-validation à l'intérieur d'un gestionnaire de pré-validation, ce qui est utile lorsque les actions de la navigation validée dépendent des données récupérées lors de la phase de pré-validation. (bogue Firefox 2009004 (angl.)).
DOM
- Les commandes « coller » peuvent désormais être utilisées avec
Document.execCommand()dans le contenu web (en plus des extensions web). Cela est implémenté en utilisant l'API Clipboard et partage les mêmes considérations de sécurité, telles que l'exigence d'une activation transitoire et la reconnaissance de l'utilisateur lors du collage de contenu inter-origine. (bogue Firefox 1998195 (angl.)).
Changements pour les développeur·euse·s d'extensions
>Fonctionnalités web expérimentales
Ces fonctionnalités sont livrées dans Firefox 148 mais sont désactivées par défaut.
Pour les tester, recherchez la préférence appropriée sur 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.
-
L'API Document Picture-in-Picture (Nightly) :
dom.documentpip.enabledL'API Document Picture-in-Picture permet d'ouvrir une fenêtre toujours au premier plan qui peut être remplie avec du contenu HTML arbitraire, comme une vidéo avec des contrôles personnalisés ou un ensemble de flux montrant les participant·e·s d'un appel de visioconférence. (bogue Firefox 1858562 (angl.)).