Firefox 151 note de version pour les développeurs
Cet article présente les informations concernant les changements de Firefox 151 qui concernent les développeur·euse·s. Firefox 151 est sorti le 19 mai 2026 (angl.).
Changements pour les développeur·euse·s web
>HTML
- L'attribut
shadowrootslotassignmentest désormais pris en charge sur les éléments<template>, permettant une définition déclarative du comportement d'attribution des emplacements pour les racines d'ombre. L'attribut est reflété en JavaScript parShadowRoot.slotAssignmentouHTMLTemplateElement.shadowRootSlotAssignment(bogue Firefox 2031295 (angl.), bogue Firefox 2023824 (angl.)).
CSS
-
La règle CSS
@containerprend en charge les requêtesstyle(). Cela permet de vérifier si un conteneur possède une déclaration CSS valide, une propriété CSS ou une propriété personnalisée, et d'appliquer des styles à ses enfants en conséquence. (bogue Firefox 2016929 (angl.), bogue Firefox 2019254 (angl.), bogue Firefox 2024601 (angl.), bogue Firefox 2030645 (angl.)). -
La propriété CSS
position-anchorprend désormais en charge la valeurnormal(par défaut). Cela permet de faire correspondre la propriétéposition-area, donc si la propriétéposition-areaest mise à jour, la propriétéposition-anchorl'est également. (bogue Firefox 2030351 (angl.)).
JavaScript
Pas de changements notables.
APIs
- La méthode
Sanitizer.replaceElementWithChildren()retourne désormaisfalsesi l'élément à remplacer est<svg>dans l'espace de nom SVG ou<math>dans l'espace de noms MathML (rejoignant<html>, qui était interdit dans Firefox 150). (bogue Firefox 2032359 (angl.)). - L'API Document Picture-in-Picture est désormais prise en charge sur les plateformes de bureau. Cela permet d'ouvrir une fenêtre toujours au premier plan qui peut être remplie avec du contenu HTML arbitraire. Elle peut être utilisée pour afficher tout contenu qu'un·e utilisateur·trice peut vouloir voir séparément de la page de lancement (ou même du navigateur), comme un ensemble de flux montrant les participants d'un appel de visioconférence, un ticker boursier ou un compte à rebours. (bogue Firefox 2006594 (angl.)).
- La propriété
CanvasRenderingContext2D.langest prise en charge pour définir la langue du contexte de dessin du canevas. Bien qu'un canevas DOM puisse hériter de ce contexte à partir de l'attributlangde son élément<canvas>associé, c'est utile pour définir le contexte pour un canevas hors écran, qui peut être rendu avant d'être associé à un<canvas>. (bogue Firefox 1943070 (angl.)). - La propriété
options.keyboardLockpeut désormais être passée en option àElement.requestFullscreen(), permettant aux sites Web de demander le verrouillage du clavier lorsque l'élément est affiché en mode plein écran. Cela empêche la touche Esc de faire quitter le mode plein écran (une pression longue est requise à la place), et certaines touches de raccourci du navigateur autrefois réservées peuvent désormais être interceptées et leur action par défaut empêchée. (bogue Firefox 2032302 (angl.)). - La propriété
CanvasRenderingContext2D.langest désormais prise en charge, permettant de définir et de modifier explicitement la langue de rendu d'un canevas hors écran après la création du contexte de rendu. (bogue Firefox 1943070 (angl.)). - Les propriétés
maxStorageBuffersInFragmentStage,maxStorageBuffersInVertexStage,maxStorageTexturesInFragmentStageetmaxStorageTexturesInVertexStagesont désormais prises en charge surGPUSupportedLimits, définissant le nombre maximum de tampons et de textures de stockage autorisés dans les étapes de shader de fragment et de vertex. (bogue Firefox 2006720 (angl.)). - La propriété
CSSContainerRule.conditionsest désormais prise en charge, reflétant la prise en charge de la règle@containerpour plusieurs conditions de conteneur séparées par des virgules. La propriétéconditionreflète un@containercorrespondant sous forme de tableau d'objets, chaque objet représentant une seule condition de conteneur. (bogue Firefox 2022827 (angl.)). - L'API Web Serial est prise en charge sur les plateformes de bureau, permettant le contrôle des microcontrôleurs qui prennent en charge les communications série. Cela permet, par exemple, de programmer des microcontrôleurs et des cartes de développement, tels que les appareils ESP, BBCmicro:bit et Raspberry Pi Picos, les imprimantes 3D et les machines CNC, ainsi que d'autres appareils pris en charge. L'utilisation de l'API nécessite que les utilisateur·ice·s du site Web installent un module complémentaire de permission de site généré de manière synthétique — c'est la même approche utilisée pour gérer en toute sécurité l'accès à WebMIDI. (bogue Firefox 2029625 (angl.)).
Conformité WebDriver (WebDriver BiDi, Marionette)
Général
- Ajout de la prise en charge de
altitudeAngleetazimuthAngleaux actions de pointeur de sous-typetouch. Ces propriétés permettent de simuler des interactions tactiles avec des données d'orientation angulaire précises, en définissant l'angle auquel un pointeur entre en contact avec une surface et sa direction de rotation. (bogue Firefox 2022644 (angl.)). - Correction d'un bogue où les exceptions DOM
UnknownErrorprovenant des pages de contenu étaient incorrectement traitées comme des erreurs internes de WebDriver. (bogue Firefox 2032387 (angl.)).
WebDriver BiDi
- Implémentation de la commande
browser.setClientWindowState. Cette commande permet aux clients de modifier l'état de la fenêtre du navigateur au niveau du système d'exploitation, comme maximisée, minimisée, en plein écran ou normale. Elle permet également de repositionner et de redimensionner la fenêtre. (bogue Firefox 1855028 (angl.)). - Ajout de la prise en charge des domaines de travail (pour les travailleurs dédiés, partagés et de service) dans la commande
script.getRealms. La commande retourne désormais des informations sur les domaines pour les scripts de travailleurs en plus des contextes de fenêtre. (bogue Firefox 2016097 (angl.)). - Inclusion de la trame de pile la plus haute dans les évènements
log.entryAddedpour tous les messages de l'API Console. (bogue Firefox 1941813 (angl.)). - Amélioration du champ
textde l'évènementlog.entryAddedpour mieux s'aligner sur le comportement des outils de développement de Firefox et l'implémentation de WebDriver BiDi de Google Chrome. (bogue Firefox 2005054 (angl.)). - Correction des cookies des évènements réseau pour inclure toutes les propriétés, pas seulement
nameetvalue. (bogue Firefox 1887118 (angl.)). - Correction du délai d'attente de la commande
network.getDatapour les redirections. (bogue Firefox 2009916 (angl.)). - Correction de la commande
browsingContext.reloadne réinitialisant pas l'emplacement d'un cadre imbriqué avec une navigation en cours. (bogue Firefox 2023917 (angl.)). - Suppression de la capacité
proxyvide de la réponse de la commandesession.newlorsqu'aucun mandataire n'est défini. (bogue Firefox 1916463 (angl.)).
Marionette
- Activation du repositionnement de la fenêtre du navigateur sur Linux Wayland en mode sans tête. (bogue Firefox 2023978 (angl.)).
Changements pour les développeur·euse·s d'extensions
- L'évènement
webRequest.onErrorOccurredse rabat désormais surNS_ERROR_NET_ON_RECEIVING_FROMau lieu d'une chaîne de caractères commençant parNS_ERROR_NET_ON_ouNS_ERROR_NET_UNKNOWN_. Ce changement fait partie des améliorations de performance et de fiabilité de l'évènementonErrorOccurred. (bogue Firefox 1881986 (angl.)) tabs.group()ettabs.ungroup()ajoutent et suppriment désormais correctement une vue fractionnée lorsqu'un appel inclut l'un des onglets de la vue fractionnée. Auparavant, un appel échouait ou séparait la vue fractionnée. (bogue Firefox 2029099 (angl.))tabs.move()déplace désormais correctement une vue fractionnée vers la droite lorsqu'un appel inclut l'un des onglets de la vue fractionnée. Auparavant, un appel ne déplaçait une vue fractionnée que vers la gauche ou à la fin de la liste des onglets. (bogue Firefox 2027855 (angl.))
Fonctionnalités web expérimentales
Ces fonctionnalités sont livrées dans Firefox 151 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 en trouver d'autres sur la page Fonctionnalités expérimentales.
-
@container style()range syntax queries:layout.css.attr.enabledLa règle CSS
@containeravec la fonctionstyle()prend désormais en charge la syntaxe de plage. Cela permet de vérifier si un conteneur possède une propriété CSS personnalisée valide et de comparer sa valeur avec des opérateurs de comparaison tels que>,<,>=et<=, puis d'appliquer des styles à ses enfants en conséquence. (bogue Firefox 2024601 (angl.)). -
Propriété
field-sizing:layout.css.field-sizing.enabledLa propriété CSS
field-sizingpermet de contrôler le comportement de dimensionnement des éléments de contrôle de formulaire. Cette propriété a deux valeurs :contentpermet aux éléments de s'ajuster en taille pour s'adapter à leur contenu, etfixeddéfinit une taille fixe pour les éléments. (bogue Firefox 1977176 (angl.)). -
Désactiver l'attribut
hrefde MathML sur les éléments qui ne sont pas des<a>:mathml.href_link_on_non_anchor_element.disabledLorsqu'elle est activée, l'attribut universel
hrefne crée plus de lien hypertexte sur les éléments MathML autres que<a>, conformément à la spécification MathML Core (angl.). (bogue Firefox 2026848 (angl.)). -
Correction des zones défilables imbriquées :
layout.css.fake-webkit-scrollbar.enabledCette implémentation a été ajoutée afin de corriger un problème où le contenu défilable était inaccessible. Si une barre de défilement est définie sur
display: none;ouwidth: 0;, alors les barres de défilement des zones défilables imbriquées se superposeraient, ce qui signifie qu'une partie du contenu peut être inaccessible. (bogue Firefox 1977511 (angl.)). -
Valeurs
<timeline-range-name>:layout.css.scroll-driven-animations.enabledLes propriétés CSS
animation-range-start,animation-range-endet la propriété raccourcieanimation-rangeprennent désormais en charge les valeurs<timeline-range-name>. Ces valeurs<timeline-range-name>permettent de préciser dans quel segment une animation déclenchée par le défilement se déroule. (bogue Firefox 1804775 (angl.)). -
Méthodes GeometryUtils :
convertPointFromNode(),convertRectFromNode()etconvertQuadFromNode():layout.css.convertFromNode.enabledLes méthodes GeometryUtils :
convertPointFromNode(),convertRectFromNode()etconvertQuadFromNode()ne sont plus activées par défaut dans Firefox Nightly. (bogue Firefox 2026051 (angl.)). -
Méthodes GeometryUtils :
getBoxQuads():layout.css.getBoxQuads.enabledLes méthodes GeometryUtils :
getBoxQuads()ne sont plus activées par défaut dans Firefox Nightly. (bogue Firefox 2026051 (angl.)).