Firefox 160 note de version pour les développeurs
Cet article présente les informations concernant les changements de Firefox 160 qui concernent les développeur·euse·s. Firefox 160 est sorti le 10 novembre 2026 (angl.).
Changements pour les développeur·euse·s web
>HTML
Pas de changements notables.
CSS
- Le pseudo-élément
::-webkit-input-placeholderest désormais pris en charge comme alias de::placeholder, pour assurer la compatibilité avec les sites web qui l'utilisent pour mettre en forme le texte de l'espace réservé des éléments HTML<input>et<textarea>. (bogue Firefox 2083700 (angl.)).
JavaScript
Pas de changements notables.
APIs
- Le constructeur
WebTransport()accepte désormais l'optionheaders, qui ajoute des en-têtes HTTP personnalisés à la requêteCONNECTétendue qui initialise la session. Les en-têtes que le serveur envoie dans sa réponse sont disponibles dans la propriétéWebTransport.responseHeadersune fois la session établie. (bogue Firefox 2081470 (angl.), bogue Firefox 2033220 (angl.)). - La méthode
WebTransport.exportKeyingMaterial()a été mise à jour pour correspondre à la spécification actuelle. L'argumentcontextest désormais obligatoire, et un nouvel argumentoutputLengthdéfinit le nombre d'octets de matériel de clé à dériver. Auparavant, la méthode renvoyait toujours 32 octets. Le code qui omet l'un ou l'autre argument doit être mis à jour. (bogue Firefox 2079306 (angl.)). - Les propriétés
incomingMaxBufferedDatagramsetoutgoingMaxBufferedDatagramsde l'interfaceWebTransportDatagramDuplexStreamsont désormais prises en charge. Elles remplacent les propriétés non standardincomingHighWaterMarketoutgoingHighWaterMark, qui ont été supprimées. Ces propriétés représentent le nombre maximum de datagrammes entrants pouvant être mis en file d'attente en attendant d'être lus, et le nombre maximum de datagrammes sortants pouvant être mis en file d'attente pour l'envoi avant que la contre-pression ne soit appliquée. (bogue Firefox 2023587 (angl.)). - Le constructeur
WebTransport()prend désormais en charge l'optiondatagramsReadableType. La définir surbytesfait du flux de datagrammes entrants du transport,transport.datagrams.readable, un flux d'octets lisible. Vous pouvez ensuite utiliser unReadableStreamBYOBReaderpour lire chaque datagramme dans un tampon que vous fournissez et réutilisez, au lieu de recevoir un nouveauUint8Arraypour chaque datagramme. (bogue Firefox 2007755 (angl.)). - Les propriétés
anticipatedConcurrentIncomingUnidirectionalStreamsetanticipatedConcurrentIncomingBidirectionalStreamsde l'interfaceWebTransportsont désormais prises en charge, ainsi que les propriétésoptionscorrespondantes qui peuvent être utilisées pour les définir dans le constructeurWebTransport(). Ces propriétés représentent le nombre maximum de flux unidirectionnels et bidirectionnels entrants, respectivement, que l'application s'attend à ce que le serveur ait ouverts en même temps. (bogue Firefox 2007825 (angl.)). - La reconnaissance vocale sur l'appareil utilisant l'API Web Speech est désormais disponible sur le bureau, permettant la conversion en temps réel de la parole en texte sur l'appareil dans 40 langues. La reconnaissance n'est pas prise en charge sur Android, et la reconnaissance distante (cloud) non plus. (bogue Firefox 2080908 (angl.)).
Suppressions
- L'évènement non standard
MozScrolledAreaChangedn'est plus envoyé aux pages web. Il était déclenché sur le document lorsque la taille de la zone défilable de la page changeait. Il est désormais disponible uniquement pour l'interface utilisateur de Firefox. Vous pouvez restaurer l'évènement pour les pages web en définissant la préférencelayout.scrolled-area-changed.content.enabledsurtrue. (bogue Firefox 2079865 (angl.)).
Changements pour les développeur·euse·s d'extensions
runtime.PlatformInforetourne désormaisarchcommearm64pour les plateformes ARM64. Auparavant, il retournaitaarch64. Cela aligne la valeur retournée par Firefox pour les plateformes ARM64 avec Chrome. (bogue Firefox 2080310 (angl.)).
Fonctionnalités web expérimentales
Ces fonctionnalités sont disponibles dans Firefox 160 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.
-
Blocage du rendu :
dom.element.blocking.enabledL'attribut et la valeur
blocking="render"sont désormais pris en charge pour les éléments HTML<link>,<script>et<style>. Cela permet de bloquer le rendu jusqu'à ce que la feuille de style de l'élément soit chargée ou que son script ait été exécuté, y compris pour les éléments qui ne bloquent pas le rendu par défaut, tels que les scripts et les feuilles de style ajoutés avec JavaScript. (bogue Firefox 1751383 (angl.)). -
Chargement paresseux pour la vidéo et l'audio :
media.lazy_loading.enabledL'attribut
loadingdes éléments<video>et<audio>, ainsi que la propriétéHTMLMediaElement.loadingqui le reflète, sont désormais pris en charge. Avecloading="lazy", le navigateur reporte le chargement du média, le chargement de l'image d'affiche de la vidéo et le démarrage de la lectureautoplayjusqu'à ce que l'élément soit proche de la zone visible. (bogue Firefox 2005072 (angl.)). -
Règles de spéculation : en-tête
Speculation-Rules:dom.speculation_rules.enabledLa prise en charge de l'en-tête de réponse HTTP
Speculation-Rulesest activée par défaut dans Nightly. Il répertorie les URL des fichiers externes contenant des règles de spéculation, comme alternative à un élément HTML<script type="speculationrules">en incise. L'en-tête ne s'applique qu'aux documents de premier niveau, et chaque fichier doit être servi avec le type MIMEapplication/speculationrules+json. (bogue Firefox 2020709 (angl.)). -
Méthodes arithmétiques de
CSSNumericValue:layout.css.typed-om.enabledLes méthodes
add(),sub(),mul()etdiv()de l'interfaceCSSNumericValuedans l'API CSS Typed Object Model sont désormais prises en charge dans Nightly. Elles additionnent, soustraient, multiplient ou divisent respectivement des valeurs numériques ; par exemple,CSS.px(10).add(CSS.px(5))additionne deux valeurs en pixels. Le résultat est unCSSUnitValue(15pxdans cet exemple) lorsqu'il peut être simplifié en une seule unité, ou une expression mathématique telle qu'unCSSMathSumlorsqu'il ne peut pas être simplifié (par exemple, lors de l'addition depxà%). (bogue Firefox 2081689 (angl.)). -
Espace colorimétrique Canvas 2D :
gfx.canvas.colorspace.enabledL'option
colorSpacedeHTMLCanvasElement.getContext()etOffscreenCanvas.getContext()est désormais prise en charge pour les contextes2d.CanvasRenderingContext2D.getContextAttributes()retourne l'espace colorimétrique sélectionné. Les données d'image ont également un espace colorimétrique : la propriétéImageData.colorSpacele retourne. Le paramètrecolorSpacedu constructeurImageData()et des méthodescreateImageData()etgetImageData()le définit. Les valeurs prises en charge sont"srgb"et"display-p3". Les données de pixels ne sont pas encore converties entre les espaces colorimétriques, doncgetImageData()retourne les mêmes pixels quel que soit l'espace colorimétrique demandé. (bogue Firefox 1841326 (angl.)).