Firefox 149 Release-Notes für Entwickler (Beta)
Dieser Artikel bietet Informationen über die Änderungen in Firefox 149, die Entwickler betreffen. Firefox 149 ist die aktuelle Beta-Version von Firefox und wird am 24. März 2026 veröffentlicht.
Hinweis: Die Release-Notes für diese Firefox-Version sind noch in Bearbeitung.
Änderungen für Webentwickler
HTML
- Das globale Attribut
popoverunterstützt jetzt den Werthint. Popovers mit dem WerthintwerdenautoPopovers nicht schließen, wenn sie angezeigt werden, aber andere Hint-Popovers schließen. (Firefox Fehler 1867743).
MathML
- Die CSS-Eigenschaft
font-family: mathwird jetzt 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 Funktionxywh()als Wert. Dadurch können Sie eine Form definieren, um die Inline-Inhalte gewickelt werden, mit Entfernungen vom linken (x) und oberen (y) Rand des enthaltenden Blocks und eine Breite (w) und Höhe (h). (Firefox Fehler 1983187). -
Die
vertical-alignCSS-Eigenschaft ist jetzt eine Kurzschreibweise für die Eigenschaftenalignment-baseline,baseline-shiftundbaseline-source. (Firefox Fehler 1830771). -
Der
<container-query>Teil der Bedingung der@containerat-rule ist jetzt optional. Dies ermöglicht es, gegen Container allein aufgrund ihrer Namen zu vergleichen. (Firefox Fehler 2016474).
APIs
- Der Parameter
options.resizeQualitywird jetzt vonWindow.createImageBitmap()undWorkerGlobalScope.createImageBitmap()unterstützt. Darüber hinaus erlauben die Methoden jetzt, sowohl Resize-Optionen (options.resizeWidthoderoptions.resizeHeight) als auch Bildbitmap-Parameter (sx,sy,sw, undsh) gleichzeitig festzulegen — bisher führte das Festlegen beider zur Rückgabe der unskalierten Quellbitmap. (Firefox Fehler 2010125).
DOM
-
Die Methode
HTMLSelectElement.showPicker()wird nun für eine Liste von Optionen unterstützt, die in einem<datalist>definiert sind. Dies ermöglicht es, dass der Browser-Picker für ein<datalist>programmgesteuert gestartet wird, wenn er durch Benutzerinteraktion ausgelöst wird (Firefox Fehler 1998668). -
Die Schnittstelle
CloseWatcherwird nun unterstützt. Dies ermöglicht es Entwicklern, Komponenten zu implementieren, die mit geräte-nativen Mechanismen wie der Esc-Taste auf Windows oder der Zurück-Taste auf Android ähnlich wie eingebauten Komponenten wie Dialogen und Popovers geschlossen werden können. (Firefox Fehler 1966073). -
DOM-Methoden erlauben jetzt einen größeren Umfang an Zeichen für Element- und Attributnamen. Zuvor waren DOM-Methoden weit restriktiver, 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 nun unterstützt. Diese gibt ein Objekt zurück, das die Echtzeitaufnahme der Inhalte im Element streamt. Der Stream kann zum Beispiel als Quelle für eine WebRTCRTCPeerConnectionverwendet werden. Zuvor warcaptureStream()nur als die nicht standardmäßige MethodemozCaptureStream()verfügbar. (Firefox Fehler 2017708). -
MediaElementAudioSourceNodeberücksichtigt nun die Lautstärke des Medienelements beim Erfassen von Audio für alle Quelltypen (wie in der Spezifikation gefordert). Zuvor beeinflusste das Einstellen der Lautstärke des Elements nicht das erfasste Audio fürMediaStream-Quellen. (Firefox Fehler 2010427). -
Die Methode
HTMLMediaElement.mozCaptureStream()erfasst nun rohes Audio von der Quelle, ohne die Lautstärke des Medienelements anzuwenden, unabhängig von der Art der Quelle, die das Medienelement abspielt (wie in der Spezifikation gefordert). Vor dieser Änderung beeinflusste die Lautstärke des Medienelements die Lautstärke des erfassten Streams. (Firefox Fehler 2010427).
WebDriver-Konformität (WebDriver BiDi, Marionette)
Allgemeines
- Die Implementierungen für Screenshots sowohl im WebDriver BiDi als auch im klassischen WebDriver-Protokoll wurden aktualisiert, um korrekt einen Fehler zurückzugeben, wenn der angeforderte Screenshot-Bereich die maximal unterstützten Dimensionen überschreitet, anstatt ihn stillschweigend zu kürzen. (Firefox Fehler 1994148).
- Die Actions-Implementierung für beide Protokolle wurde aktualisiert, um eine
scroll-Aktion des Eingabequelltypswheelzu ermöglichen, die mehr als die visuellen Ansichtsfenster-Abmessungen scrollt. (Firefox Fehler 1962355).
WebDriver BiDi
- Unterstützung für die automatische Handhabung von Benutzeraufforderungen hinzugefügt, die über Fähigkeiten mit dem
session.new-Befehl konfiguriert werden kann. (Firefox Fehler 1905086). - Der Befehl
browser.setDownloadBehaviorwurde hinzugefügt, der es Clients ermöglicht, Downloads zu erlauben oder zu verbieten und auch einen benutzerdefinierten Download-Ordner zu setzen. Dieses Verhalten kann pro Sitzung oder pro Benutzerkontext konfiguriert werden. (Firefox Fehler 1989022). - Die Ereignisse
script.realmCreatedundscript.realmDestroyedfür Worker-Umgebungen (für dedizierte, geteilte und Service-Worker) wurden hinzugefügt. (Firefox Fehler 1936770). - Ein Problem wurde behoben, bei dem die Ereignisse
browsingContext.userPromptOpenedundbrowsingContext.userPromptClosedfälschlicherweise die Kontext-ID der obersten Ebene statt der Kontext-ID des iframes auf Android meldeten. (Firefox Fehler 2007385). - Die Serialisierung für DOM-Knoten wurde korrigiert, um benutzerspezifische Shadow-Roots nicht mehr offenzulegen. (Firefox Fehler 2016673).
- Die Logik für die Anwendung verschiedener Einstellungen auf neue Browsing-Kontexte wurde aktualisiert, um sicherzustellen, dass im Fall der Erstellung eines Browsing-Kontexts mit dem
window.open-Befehl Emulationen, Ansichtsfenster-Überschreibungen und Preload-Skripte angewandt werden, bevor der Befehl zurückkehrt. (Firefox Fehler 1985997, Firefox Fehler 2005546 und Firefox Fehler 2005558).
Marionette
- Mehrere klassische WebDriver-Befehle wurden verbessert, um
implicitundpageLoad-Timeouts in Übereinstimmung mit der Skript-Timeout zu behandeln, sodassnull-Werte die Timeouts deaktivieren. (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 geteilten Ansicht-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 geteilten Ansicht-ID in
- Unterstützung für
tabIdals oberstes Parameter-Level inaction.isEnabledundbrowserAction.isEnabledhinzugefügt. Diese Änderung bietet Kompatibilität mit der Chrome-Implementierung vonaction.isEnabled. (Firefox Fehler 2013477) - Für
action.openPopupundbrowserAction.openPopupist kein Benutzer-Geste mehr erforderlich, um ein Popup zu öffnen. Diese Funktion war hinter derextensions.openPopupWithoutUserGesture.enabled-Einstellung seit Firefox 108 verfügbar. Diese Änderung bringt das Firefox-Verhalten in Einklang mit Chrome und Safari. (Firefox Fehler 1799344) - Wenn
winedowIdinaction.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, musswindows.update(windowId, { focused: true })zuerst aufgerufen werden. Diese Änderung bringt das Firefox-Verhalten in Einklang mit Chrome. (Firefox Fehler 2011516)
- Die Fähigkeit von Erweiterungen, Code dynamisch in ihren
moz-extension:Dokumenten mittabs.executeScript,tabs.insertCSS,tabs.removeCSS,scripting.executeScript,scripting.insertCSS, undscripting.removeCSSauszuführen, ist veraltet. (Firefox Fehler 2011234) Die Funktion ist nicht mehr in Firefox Nightly verfügbar, und die Beta- und Release-Versionen von Firefox bieten eine Warnung in der Konsolenansicht des Tabs. Diese Einschränkung wird auf alle Versionen von Firefox 152 und höher angewendet. (Firefox Fehler 2015559) Als Alternative kann eine Erweiterung Code in ihren Dokumenten dynamisch ausführen, indem sie einenruntime.onMessage-Listener im Skript des Dokuments registriert und dann eine Nachricht sendet, um die Ausführung des erforderlichen Codes auszulösen. - Der implizite CSS-Filter, der auf Seitenaktion SVG-Icons auf dunklen Themes angewendet wird, wird in Nightly-Builds deaktiviert (Firefox Fehler 2001318) und wird in anderen Firefox-Editionen ab Version 152 deaktiviert (Firefox Fehler 2016509). Sie können Seitenaktions-SVG-Icons mit dem deaktivierten CSS-Filter in anderen Firefox-Editionen testen, indem Sie eine boolesche
about:config-Einstellung namensextensions.webextensions.pageActionIconDarkModeFilter.enablederstellen und diese auffalsesetzen.
Experimentelle Web-Funktionen
Diese Funktionen sind in Firefox 149 verfügbar, jedoch standardmäßig deaktiviert.
Um mit ihnen zu experimentieren, 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 in derattr()CSS-Funktion:layout.css.attr.enabledDie
attr()CSS-Funktion unterstützt jetzt<attr-type>Werte. Dies ermöglicht es Ihnen, anzugeben, wie ein Attributwert in einen CSS-Wert geparst wird, und diese Werte direkt vondata-*zu übernehmen. (Firefox Fehler 1986631 & Firefox Fehler 1998245). -
color-mix()akzeptiert mehrere Farbargumente:layout.css.color-mix-multi-color.enabledDie
color-mix()CSS-Funktion unterstützt jetzt mehrere<color>Werte anstatt nur zwei. Dies ermöglicht es Ihnen, viele Farben zu mischen und die Prozentsätze jeder Farbe festzulegen. (Firefox Fehler 2007772). -
Medien-basierte Pseudoklassen:
dom.media.pseudo-classes.enabledDie medien-basierten Pseudoklassen
:buffering,:muted,:paused,:playing,:seeking,:stalled, und:volume-lockedermöglichen es Ihnen,<audio>und<video>Elemente basierend auf ihrem aktuellen Zustand, wie abspielen oder pausiert, zu stylen. (Firefox Fehler 1707584, Firefox Fehler 2014512). -
alpha&colorspaceAttribute 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
@containerCSSat-ruleunterstütztstyle()Abfragen. Dies ermöglicht es Ihnen zu überprüfen, ob ein Container eine gültige CSS-Deklaration, eine CSS-Eigenschaft oder eine benutzerdefinierte Eigenschaft hat, und dementsprechend Stile auf seine Kinder anzuwenden. (Firefox Fehler 2014404). -
CSS Typisiertes Objektmodell Level 1:
layout.css.typed-om.enabledDie Spezifikation des CSS Typisierten Objektmodells Level 1 wird implementiert. In dieser Veröffentlichung wurde die Unterstützung für die Methode
to()der SchnittstelleCSSNumericValuehinzugefügt, die es ermöglicht, einen CSS-numerischen Wert von einer Einheit in eine andere zu konvertieren. (Firefox Fehler 1278697). -
JPEG XL Bildunterstützung: Rust-basierter Decoder:
image.jxl.enabledDer vorherige C++ JPEG XL Bilddecoder wurde durch eine neue Rust-basierte Implementierung ersetzt, die die
jxl-rs-Bibliothek verwendet. (Firefox Fehler 1986393).