Firefox 125 Versionshinweise für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 125, die Entwickler betreffen. Firefox 125 wurde am 16. April 2024 veröffentlicht.
Änderungen für Webentwickler
>HTML
Keine besonderen Änderungen.
CSS
- Die Eigenschaft
align-contentwurde aktualisiert, um mit Layouts, diedisplay: block;verwenden, zu arbeiten. Dies bringt alle Layoutpositionen vonflexundgridzublockund ermöglicht es Entwicklern, Blockebenen-Elemente auszurichten, ohne ihren Container in einenflex- odergrid-Container umwandeln zu müssen. (Firefox-Bug 1882853). - Die CSS-Eigenschaft
transform-boxunterstützt jetzt die Wertecontent-boxundstroke-box. Für die Referenzbox verwendet dercontent-box-Wert die content box und derstroke-box-Wert verwendet die Umrandungsbox des SVGs (Firefox-Bug 1868374). - Der Wert
autoder Eigenschaftcontent-visibilityist nun standardmäßig aktiviert. Dadurch kann der Inhalt das Rendering überspringen, wenn er für den Benutzer nicht relevant ist. (Firefox-Bug 1874874).
JavaScript
Intl.Segmenterwird nun unterstützt, was es Entwicklern ermöglicht, eine lokalisierungssensitive Textsegmentierung eines Strings durchzuführen. Dies ermöglicht zum Beispiel, einen String in Wörter zu zerlegen, selbst in Sprachen, die keine Leerzeichen verwenden, um sie zu trennen:Intl.Segmenter("ja-JP", { granularity: "word" }). Sie können Strings auch in Grapheme oder Sätze unterteilen. (Firefox-Bug 1423593, Firefox-Bug 1883914.)
APIs
-
Die Popover API wird nun vollständig unterstützt, was die Erstellung von obersten "Popover"-UI-Elementen ermöglicht, die für Aktionsmenüs, benutzerdefinierte "Toast"-Benachrichtigungen, Formularelemtvorschläge, Inhaltspicker usw. verwendet werden können. Das Popover und sein auslösendes Button/Input können entweder über HTML-Attribute oder JavaScript erstellt und mit CSS gestaltet werden.
Die folgenden Web-APIs sind implementiert:
HTMLButtonElementEigenschaftenpopoverTargetElementundpopoverTargetAction.HTMLInputElementEigenschaftenpopoverTargetElementundpopoverTargetAction.HTMLElementEigenschaftpopover, MethodenhidePopover(),showPopover(), undtogglePopover(), und Ereignissebeforetoggleundtoggle_event(vom TypToggleEvent).
Die folgenden CSS-Pseudoklasse und -Element werden jetzt für die Verwendung mit Popovers unterstützt:
:popover-open::backdropwurde erweitert, um Popovers zu unterstützen
Die folgenden globalen HTML-Attribute werden unterstützt:
-
Die
RTCIceTransportEigenschaftenstateundgatheringState, sowie die zugehörigen Ereignissestatechangeundgatheringstatechange, werden jetzt unterstützt, zusammen mit der EigenschaftRTCDtlsTransport.iceTransport(die den zugrundeliegendenRTCIceTransportfür einRTCDtlsTransportzurückgibt). Diese ermöglichen eine viel feiner abgestufte Überwachung als durch die EigenschafteniceGatheringStateundconnectionStatevon [RTCPeerConnection]. (Firefox-Bug 1811912) -
Element.ariaBrailleLabelundElement.ariaBrailleRoleDescriptionwerden jetzt unterstützt, und spiegeln die globalen ARIA-HTML-Attributearia-braillelabelundaria-brailleroledescriptionwider. (Firefox-Bug 1861201). -
Unterstützung wurde hinzugefügt, um es Webanwendungen zu ermöglichen, sich nahtlos zu erholen, wenn ein Canvas vorübergehend seinen 2D-Kontext verliert, was passieren kann, wenn das Canvas hardwarebeschleunigt auf einer GPU läuft und der Treiber abstürzt (Firefox-Bug 1887729). Hier sind einige zusätzliche Details zu den Ereignissen für verlorene und wiederhergestellte Canvas-Kontexte:
- Anwendungen können auf die Ereignisse
contextlostundcontextrestoredreagieren, die auf einemHTMLCanvasElementausgelöst werden, wenn der Kontext verloren geht und wiederhergestellt wird, und können auch den Kontext mitCanvasRenderingContext2D.isContextLost()überprüfen. - Nachdem das Ereignis
contextlostausgelöst wurde, wird ein Browser versuchen, den verlorenen Kontext standardmäßig neu zu starten, aber Code kann dies verhindern, indem das Ereignis abgebrochen wird. - Offscreen-Canvas-Kanäle können auf die gleiche Weise überwacht werden, jedoch unter Verwendung der Ereignisse
contextlostundcontextrestoredvonOffScreenCanvas, zusammen mitOffscreenCanvasRenderingContext2D.isContextLost().
- Anwendungen können auf die Ereignisse
-
Unterstützung wurde für das
shadowrootclonableAttribut des<template>Elements hinzugefügt, und dieshadowRootClonableEigenschaft derHTMLTemplateElementSchnittstelle, die dieses wiedergibt. Diese setzen dieclonableEigenschaft einesShadowRoot, das deklarativ mit dem<template>Element erstellt wurde. (Firefox-Bug 1880188). -
Die
readText()Methode derClipboardSchnittstelle wird jetzt für das asynchrone Lesen von Text aus der Systemzwischenablage unterstützt. Beim Lesen von Zwischenablagedaten, die nicht von der gleichen Ursprungseite bereitgestellt werden, erscheint ein Kontextmenü zum Einfügen, in dem der Benutzer dies bestätigen muss. (Firefox-Bug 1877400).
Medien, WebRTC und Web Audio
- Der AV1 Codec wird jetzt für Encrypted Media Extensions unterstützt, was die Wiedergabe in höherer Qualität von Video-Streaming-Anbietern ermöglicht. (Firefox-Bug 1601817).
Entfernungen
- Die
SVGAElement.textEigenschaft wurde entfernt. DietextContentEigenschaft (vomNodegeerbt) wird weitläufig unterstützt und sollte stattdessen verwendet werden. (Firefox-Bug 1880689).
WebAssembly
- Unterstützung wurde hinzugefügt, um es Wasm-Modulen zu ermöglichen, mehrere unabhängige lineare Speicher zu verwenden. Mehrere Speicher ermöglichen eine effizientere Interoperabilität zwischen Modulen und bessere Polyfills für kommende Wasm-Standards. Sie können beispielsweise verwendet werden, um separaten Speicher für interne und geteilte Daten, temporäre und persistierte Daten oder Daten, die zwischen Threads geteilt werden müssen, zu erstellen. Der Speicher kann in JavaScript erstellt und in das Wasm-Modul importiert oder im Wasm-Modul erstellt und exportiert werden. Jeder neue lineare Speicher in einer Wasm-Instanz erhält einen sequentiellen Index, beginnend bei null. WebAssembly Speicherinstruktionen nutzen den Index, um auf den Speicher zu verweisen, auf dem sie arbeiten, und standardmäßig auf den ersten definierten Speicher, falls kein Index angegeben ist. Für weitere Informationen siehe WebAssembly Speicher in Understanding WebAssembly text format. (Firefox-Bug 1860816).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Unterstützung wurde für die "userAgent"-Fähigkeit hinzugefügt, die den Standardwert des User-Agent des Endpunktknotens identifiziert (Firefox-Bug 1885495).
WebDriver BiDi
- Unterstützung wurde für den input.setFiles Befehl hinzugefügt, der es ermöglicht, Dateien für
<input>Elemente mittype="file"zu setzen oder zu aktualisieren (Firefox-Bug 1855040). - Unterstützung wurde für den storage.deleteCookies Befehl hinzugefügt, um Cookies zu löschen (Firefox-Bug 1854581).
- Unterstützung wurde für "userContext" als Feld des "partition" Arguments für Cookie-Befehle hinzugefügt (Firefox-Bug 1875255).
- Ein Problem wurde behoben, bei dem storage.getCookies nicht alle erwarteten Cookies für einen gegebenen "sourceOrigin" abrufen würde (Firefox-Bug 1884647).
- Ein Problem wurde behoben, bei dem empfohlene Voreinstellungen nicht angewendet würden, wenn nur WebDriver BiDi als Remote-Protokoll aktiviert war, was bedeutet, dass CDP deaktiviert ist (Firefox-Bug 1882748).
- Ein Problem wurde behoben, bei dem das Erstellen und Wechseln zu einem neuen Tab nicht auf die Aktualisierung des
visibilityStatewartete (Firefox-Bug 1877469).
Änderungen für Add-on-Entwickler
- Der Inhalt der
proxy.ProxyInfoEigenschaftproxyAuthorizationwird nun auch an denProxy-AuthorizationAnfrage-Header gesendet, der an HTTP-Proxys (zusätzlich zur bestehenden Unterstützung für HTTPS-Proxys) als Teil einer CONNECT Anfrage gesendet wird (Firefox-Bug 1794464).
Experimentelle Web-Features
Diese Features sind in Firefox 125 enthalten, aber nur in Entwickler-Versionen oder hinter einer Präferenz. Um diese auszuprobieren, können Sie auf der about:config Seite nach der entsprechenden Präferenz suchen, um zu sehen, ob sie aktiviert oder deaktiviert sind. Um mehr über diese Features zu erfahren, sehen Sie auf der Seite Experimentelle Features nach.
-
CSS
transition-behavior:layout.css.transition-behavior.enabled.Die
transition-behaviorEigenschaft ist standardmäßig in der Nightly-Version aktiviert. Autoren können diese Eigenschaft verwenden, um zu steuern, ob CSS-Übergänge auf Eigenschaften mit einem diskreten Animationstyp angewendet werden sollen (Firefox-Bug 1882408, Firefox-Bug 1805727). -
UA Styles für
<h1>verschachtelt in Gliederungselementen:layout.css.h1-in-section-ua-styles.enabled.Die
<h1>Überschrift nimmt jetzt nicht mehr in der Schriftgröße ab, wenn sie innerhalb von Gliederungselementen<article>,<aside>,<nav>, und<section>verschachtelt ist. Die UA-Stile für<h1>, die innerhalb von Gliederungselementen verschachtelt sind, sind nicht mehr relevant, da der Outline-Algorithmus aus der HTML-Spezifikation entfernt wurde. (Firefox-Bug 1883896).Hinweis: Die Präferenz für dieses Feature funktioniert umgekehrt: Sie ist auf
falseim Nightly-Build gesetzt, was das Entfernen der UA-Stiling für Überschriften in Gliederungselementen bewirkt. Sie ist in allen anderen Kanälen auftruegesetzt, was das bestehende UA-Stiling für die verschachtelten Überschriften beibehält.