Veröffentlichungsnotizen zu Firefox 149 für Entwickler
Dieser Artikel liefert Informationen über die Änderungen in Firefox 149, die Entwickler betreffen. Firefox 149 wurde am 24. März 2026 veröffentlicht.
Änderungen für Web-Entwickler
>HTML
- Das globale Attribut
popoverunterstützt jetzt den Werthint. Pop-ups mit dem Werthintschließen keineautoPop-ups, wenn sie angezeigt werden, schließen jedoch andere Hinweis-Pop-ups. (Firefox Fehler 1867743).
MathML
- Die CSS-Eigenschaft
font-family: mathwird nun unterstützt und standardmäßig auf<math>-Elemente angewendet. Dies stellt sicher, dass Websites eine geeignete Mathe-Schriftart und/oder MathML verwenden können, ohne wissen zu müssen, welche Schriftarten auf dem zugrunde liegenden Betriebssystem vorhanden sind. (Firefox Fehler 2014703).
CSS
-
Die
shape-outsideCSS-Eigenschaft unterstützt jetzt die Funktionenxywh()undrect()als Werte. Diese Funktionen waren vorher bereits für dieclip-path- undoffset-path-Eigenschaften implementiert und sind nun auch fürshape-outsideverfügbar. (Firefox Fehler 1983187). -
Die CSS-Eigenschaft
vertical-alignist jetzt eine Kurzform für die Eigenschaftenalignment-baseline,baseline-shiftundbaseline-source. (Firefox Fehler 1830771). -
Der
<container-query>Teil der@containerAt-Regel Bedingung ist jetzt optional. Dies erlaubt das Abstimmen gegen Container ausschließlich basierend auf ihren Namen. (Firefox Fehler 2016474).
JavaScript
- Der
"islamic-umalqura"Kalender wird jetzt vonIntlunterstützt. Dieser String wird in der Liste der Kalender, die vonIntl.supportedValuesOf()zurückgegeben werden, enthalten sein und kann als Parameteroptions.calendarimDateTimeFormat()Konstruktor gesetzt werden. (Firefox Fehler 2011505).
APIs
-
Der Parameter
options.resizeQualitywird jetzt vonWindow.createImageBitmap()undWorkerGlobalScope.createImageBitmap()unterstützt. Zusätzlich erlauben die Methoden jetzt, dass sowohl Resize-Optionen (options.resizeWidthoderoptions.resizeHeight) als auch Bild-Bitmap-Parameter (sx,sy,sw, undsh) gleichzeitig gesetzt werden können — vorher führte das Setzen beider zur Rückgabe des unskalierten Quell-Bitmaps. (Firefox Fehler 2010125). -
Die Reporting API wird jetzt für das Melden von Content Security Policy (CSP) und
Integrity-PolicyVerletzungen unterstützt. Diese API ermöglicht es,CSPViolationReportundIntegrityViolationReportObjekte auf verletzenden Seiten mit einemReportingObserverzu melden (Berichte können basierend auf dertype-Eigenschaft gefiltert werden:"csp-violation"oder"integrity-violation"). Eine serialisierte Version der Berichtsobjekte kann auch an einen Meldeserver gesendet werden, der im entsprechenden HTTP-Header angegeben ist — Endpunktnamen und entsprechende URLs müssen zuerst in den HTTP-Antwort-HeadernReporting-EndpointsoderReport-Todefiniert werden. (Firefox Fehler 1976074, Firefox Fehler 2008916). -
Bis zu Firefox 148 erstellte
structuredClone.call(iframe.contentWindow)Objekte fälschlicherweise im Realm des Aufrufers statt im Realm des iframes. Die Implementierung erstellt nun Objekte imthisRealm, sodass das Verhalten der Methode näher an der Spezifikation liegt. (Firefox Fehler 2017797).
DOM
-
Die Methode
HTMLSelectElement.showPicker()wird jetzt für eine Liste von Optionen unterstützt, die in einem<datalist>definiert sind. Dies erlaubt das programmgesteuerte Starten des Browser-Auswahlfensters für ein<datalist>, wenn es durch eine Benutzerinteraktion ausgelöst wird. (Firefox Fehler 1998668). -
Die Schnittstelle
CloseWatcherwird jetzt unterstützt. Dies ermöglicht Entwicklern, Komponenten zu implementieren, die mit gerätenativen Mechanismen geschlossen werden können, wie die Esc-Taste auf Windows oder die Zurück-Taste auf Android, ähnlich wie eingebaute Komponenten wie Dialoge und Pop-ups. (Firefox Fehler 1966073). -
DOM-Methoden erlauben jetzt eine breitere Palette von Zeichen für Element- und Attributnamen. Früher waren DOM-Methoden viel restriktiver, aber jetzt erlauben sie denselben Zeichensatz wie der HTML-Parser. Die betroffenen Methoden sind:
createAttribute(),createAttributeNS(),createElement()undcreateElementNS()derDocumentSchnittstelle,toggleAttribute(),setAttribute(),setAttributeNS()derElementSchnittstelle,createDocument()derDOMImplementationSchnittstelle, unddefine()undwhenDefined()derwhenDefined()Schnittstelle. (Firefox Fehler 1773312).
Medien, WebRTC und Web Audio
-
Die Methode
HTMLMediaElement.captureStream()wird jetzt unterstützt. Diese gibt ein Objekt zurück, das den Echtzeit-Mitschnitt des Inhalts im Element streamt. Der Stream kann beispielsweise als Quelle für eine WebRTCRTCPeerConnectionverwendet werden. Bisher warcaptureStream()nur als nicht-standardisierte MethodemozCaptureStream()verfügbar. (Firefox Fehler 2017708). -
MediaElementAudioSourceNoderespektiert jetzt die Lautstärke des Media-Elements beim Erfassen von Audio für alle Arten von Quellen (wie von der Spezifikation gefordert). Bisher beeinflusste das Einstellen der Lautstärke des Elements nicht das erfasste Audio fürMediaStreamQuellen. (Firefox Fehler 2010427). -
Die Methode
HTMLMediaElement.mozCaptureStream()erfasst jetzt Roh-Audio von der Quelle, ohne die Lautstärke des Media-Elements anzuwenden, unabhängig von der Art der Quelle, die das Media-Element abspielt (wie von der Spezifikation gefordert). Vor dieser Änderung beeinflusste die Lautstärke des Media-Elements die Lautstärke des erfassten Streams. (Firefox Fehler 2010427).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemein
- Aktualisierte die Screenshot-Implementierungen sowohl für die WebDriver BiDi als auch für die klassischen WebDriver-Protokolle, um korrekt einen Fehler zurückzugeben, wenn der angeforderte Screenshot-Bereich die maximal unterstützten Abmessungen überschreitet, anstatt ihn stillschweigend zu beschneiden. (Firefox Fehler 1994148).
- Aktualisierte die Aktionen-Implementierung sowohl für die WebDriver BiDi als auch für die klassischen WebDriver-Protokolle, um eine
scrollAktion des Eingabequellen-Typswheelzu erlauben, mehr als die visuellen Viewport-Abmessungen zu scrollen. (Firefox Fehler 1962355).
WebDriver BiDi
- Unterstützung für die automatische Benutzeraufforderungshandhabung hinzugefügt, die durch Fähigkeiten mit dem
session.newBefehl konfiguriert werden kann. (Firefox Fehler 1905086). - Der Befehl
browser.setDownloadBehaviorwurde hinzugefügt, der es Clients erlaubt, Downloads zu erlauben oder zu verbieten und einen benutzerdefinierten Download-Ordner festzulegen. Dieses Verhalten kann pro Sitzung oder pro Benutzerkontext konfiguriert werden. (Firefox Fehler 1989022). - Die Ereignisse
script.realmCreatedundscript.realmDestroyedfür Worker Realms (für dedizierte, gemeinsame und Service-Worker) wurden hinzugefügt. (Firefox Fehler 1936770). - Behoben wurde ein Problem, bei dem die Ereignisse
browsingContext.userPromptOpenedundbrowsingContext.userPromptClosedfälschlicherweise die Top-Level-Kontext-ID anstelle der Kontext-ID des iframes auf Android gemeldet haben. (Firefox Fehler 2007385). - Die Serialisierung für DOM-Knoten wurde behoben, um zu verhindern, dass benutzerspezifische Shadow Roots des User Agents offengelegt werden. (Firefox Fehler 2016673).
- Die Logik zur Anwendung verschiedener Einstellungen auf neue Browsing-Kontexte wurde aktualisiert, um sicherzustellen, dass bei der Erstellung eines Browsing-Kontextes mit dem
window.openBefehl Emulationen, Viewport-Überlagerungen und Preload-Skripte angewendet werden, bevor der Befehl zurückkehrt. (Firefox Fehler 1985997, Firefox Fehler 2005546 und Firefox Fehler 2005558).
Marionette
- Mehrere klassische WebDriver-Befehle wurden verbessert, um
implicitundpageLoadZeitüberschreitungen in Einklang mit der Skript-Zeitüberschreitung zu behandeln, sodassnull-Werte die Zeitüberschreitungen deaktivieren können. (Firefox Fehler 2008345).
Änderungen für Add-on-Entwickler
- Fügt anfängliche Unterstützung für die geteilte Ansicht hinzu. Diese Unterstützung umfasst:
- Einbeziehung der Split-View-ID in
tabs.query,tabs.onUpdated, undtabs.Tab - Dokumentation des Verhaltens, wenn
tabs.moveodertabs.removeTabs in einer geteilten Ansicht beinhalten. (Firefox Fehler 1993037)
- Einbeziehung der Split-View-ID in
- Unterstützung für
tabIdals oberstes Parameter-Level inaction.isEnabledundbrowserAction.isEnabledhinzugefügt. Diese Änderung sorgt für Kompatibilität mit der Chrome-Implementierung vonaction.isEnabled. (Firefox Fehler 2013477) - Ein Benutzergeste ist nicht mehr erforderlich, um
action.openPopupundbrowserAction.openPopupzu öffnen. Diese Funktion war hinter der Einstellungextensions.openPopupWithoutUserGesture.enabledab Firefox 108 verfügbar. Diese Änderung bringt das Verhalten von Firefox mit Chrome und Safari in Einklang. (Firefox Fehler 1799344) - Wenn
windowIdinaction.openPopupoderbrowserAction.openPopupübergeben wird, muss das Fenster fokussiert (aktiv) sein, damit das Popup geöffnet wird. Um ein Popup in einem nicht fokussierten Fenster zu öffnen, muss zunächstwindows.update(windowId, { focused: true })aufgerufen werden. Diese Änderung bringt das Verhalten von Firefox mit Chrome in Einklang. (Firefox Fehler 2011516) - Die Implementierung von
structuredClonewurde geändert, um Objekte imthisRealm statt im Realm des Aufrufers zu erstellen. Für die Rückwärtskompatibilität enthält der globale Bereich von Inhalteskripten nun seine eigenestructuredCloneMethode, die diewindow.structuredCloneMethode überschattet. Weitere Informationen finden Sie unterstructuredClonein Objekte mit Seitenskripten teilen (Firefox Fehler 2017797). - Die Fähigkeit von Erweiterungen, Code dynamisch in ihren
moz-extension:Dokumenten mittabs.executeScript,tabs.insertCSS,tabs.removeCSS,scripting.executeScript,scripting.insertCSSundscripting.removeCSSauszuführen, wird eingestellt. (Firefox Fehler 2011234) Die Funktion ist in Firefox Nightly nicht mehr verfügbar, und die Beta- und Release-Versionen von Firefox geben eine Warnung im Konsolen-Tab aus. Diese Einschränkung wird ab Firefox 152 für alle Versionen von Firefox angewendet. (Firefox Fehler 2015559) Als Alternative kann eine Erweiterung Code dynamisch in ihren Dokumenten ausführen, indem einruntime.onMessage-Listener im Dokumentenskript registriert und dann eine Nachricht gesendet wird, um die Ausführung des erforderlichen Codes auszulösen. - Der implizite CSS-Filter, der auf Page Action SVG-Icons in dunklen Themes angewendet wurde, ist in Nightly-Versionen deaktiviert (Firefox Fehler 2001318) und wird in anderen Firefox-Versionen ab Version 152 deaktiviert (Firefox Fehler 2016509). Sie können Page Action SVG-Icons mit dem deaktivierten CSS-Filter in anderen Firefox-Versionen testen, indem Sie eine boolesche
about:config-Einstellung mit dem Namenextensions.webextensions.pageActionIconDarkModeFilter.enablederstellen und auffalsesetzen.
Experimentelle Web-Funktionen
Diese Funktionen werden in Firefox 149 ausgeliefert, sind aber standardmäßig deaktiviert.
Um sie auszuprobieren, suchen Sie die entsprechende Einstellung auf der about:config-Seite und setzen Sie sie auf true.
Weitere solcher Funktionen finden Sie auf der Seite Experimentelle Funktionen.
-
<attr-type>Werte inattr()CSS-Funktion:layout.css.attr.enabledDie
attr()CSS-Funktion unterstützt nun Werte für<attr-type>. Dies ermöglicht es, anzugeben, wie ein Attributwert in einen CSS-Wert umgewandelt wird, und diese Werte direkt ausdata-*zu entnehmen. (Firefox Fehler 1986631 & Firefox Fehler 1998245). -
color-mix()akzeptiert mehrere Farbargumente:layout.css.color-mix-multi-color.enabledDie
color-mix()CSS-Funktion unterstützt nun mehrere<color>Werte, anstatt nur zwei. Dies ermöglicht es, viele Farben zu mischen und die Prozentsätze jeder einzustellen. (Firefox Fehler 2007772). -
Media-basierte Pseudoklassen:
dom.media.pseudo-classes.enabledDie media-basierten Pseudoklassen
:buffering,:muted,:paused,:playing,:seeking,:stalled, und:volume-lockedermöglichen es,<audio>und<video>Elemente basierend auf ihrem aktuellen Status zu stylen, wie zum Beispiel beim Abspielen oder Pausieren. (Firefox Fehler 1707584, Firefox Fehler 2014512). -
alpha&Farbraum-Attribute incolorEingabeelementen (nur Nightly):dom.forms.html_color_picker.enabledDas HTML
<input type="color">Element unterstützt die Attributealpha&colorspace. (Firefox Fehler 1919718). -
@container style()Abfragen (Nightly):layout.css.style-queries.enabledDie
@containerCSS-At-Regel unterstütztstyle()Abfragen. Dies ermöglicht es, zu überprüfen, ob ein Container eine gültige CSS-Deklaration, eine CSS-Eigenschaft oder eine benutzerdefinierte Eigenschaft besitzt, und die Styles entsprechend auf seine Kinder anzuwenden. (Firefox Fehler 2014404). -
base-selectWert für dieappearanceCSS-Eigenschaft:dom.select.customizable_select.enabledundlayout.css.appearance-base.enabledDer
base-selectWert für dieappearanceCSS-Eigenschaft, relevant nur für das<select>Element und das::picker(select)Pseudoelement, ermöglicht es, sie vollständig zu stylen. Zurzeit wird nur das Styling des<select>Elements unterstützt. Das Styling des::picker(select)Pseudoelements wird in zukünftigen Versionen hinzugefügt. Diese Funktion ist Teil der Anpassbare Auswahlelemente Arbeit. Zwei Einstellungen müssen zur Nutzung aktiviert sein. (Firefox Fehler 1974787). -
CSS Typed Object Model Level 1:
layout.css.typed-om.enabledDie CSS Typed Object Model Level 1 Spezifikation wird implementiert. In dieser Version wurde Unterstützung für die Methode
to()derCSSNumericValueSchnittstelle hinzugefügt, die die Umwandlung eines CSS-Zahlenwerts von einer Einheit in eine andere ermöglicht. (Firefox Fehler 1278697). -
JPEG XL Bildunterstützung: Rust-basierter Decoder (nur Nightly):
image.jxl.enabledDer vorherige C++ JPEG XL Bilddecoder wurde durch eine neue Rust-basierte Implementierung ersetzt, die die
jxl-rsBibliothek verwendet. (Firefox Fehler 1986393).