Firefox 70: Versionshinweise für Entwickler
Dieser Artikel informiert über die Änderungen in Firefox 70, die für Entwickler relevant sind. Firefox 70 wurde am 22. Oktober 2019 veröffentlicht.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Aktualisierungen des Debuggers
- Im Debugger können Sie jetzt Breakpoints für DOM-Mutationen setzen. Die Ausführung wird dann angehalten, wenn ein Knoten oder seine Attribute geändert werden oder ein Knoten aus dem DOM entfernt wird (Firefox-Bug 1576219).
- Der Debugger zeigt jetzt ein Overlay auf der Seite an, wenn die Ausführung angehalten ist. Über Schaltflächen können Sie die Ausführung schrittweise oder normal fortsetzen (Firefox-Bug 1574646).
- Der Debugger zeigt jetzt auch Quellen an, die von der Engine bereits verworfen wurden (meist Skripte, die beim Laden der Seite einmal ausgeführt werden). So können Sie Breakpoints setzen, um deren nächste Ausführung zu debuggen (Firefox-Bug 1572280).
- Die Gruppierung im Bereich für Gültigkeitsbereiche des Debuggers wurde vereinfacht. Zusätzliche Gültigkeitsbereiche, die bisher oberhalb der Funktion auf oberster Ebene angezeigt wurden (beispielsweise durch
let,withoderif/elseerzeugte Blöcke), werden zusammengefasst (Firefox-Bug 1448166). - Beim schrittweisen Ausführen behält der Debugger die aktuell ausgewählten und aufgeklappten Variablen im Bereich für Gültigkeitsbereiche bei (Firefox-Bug 1405402).
- Der Debugger kann beim schrittweisen Ausführen jetzt korrekt über asynchrone Funktionen hinweggehen. Das erleichtert das Debuggen asynchroner Funktionen (Firefox-Bug 1570178).
- Beim Debuggen in Container-Sitzungen, die etwa zum Testen verschiedener Anmeldungen nützlich sind, werden die Quellen im Debugger jetzt korrekt angezeigt (Firefox-Bug 1375036).
debugger-Anweisungen können jetzt im Debugger deaktiviert werden: Setzen Sie dazu einen Breakpoint auf die Anweisung und stellen Sie ihn auf „Hier niemals anhalten“ (Firefox-Bug 925269).- WebExtensions-Entwickler können
browser.storage.localjetzt unter dem Eintrag „Erweiterungsspeicher“ im Tab „Speicher“ untersuchen (Firefox-Bug 1585499).
Weitere Aktualisierungen
- Neben inaktiven CSS-Eigenschaften wird in der Regelansicht des Seiteninspektors jetzt ein Symbol angezeigt. Wenn Sie den Mauszeiger darüber bewegen, erfahren Sie, warum die Eigenschaft inaktiv ist (Firefox-Bug 1306054).
- In der CSS-Regelansicht zeigt die Farbauswahl für Vordergrundfarben jetzt an, ob der Kontrast zur Hintergrundfarbe die Barrierefreiheitskriterien erfüllt (Firefox-Bug 1478156).
- Das Dropdown-Menü „Auf Probleme prüfen“ im Barrierefreiheitsinspektor enthält jetzt auch Prüfungen zur Zugänglichkeit per Tastatur (Firefox-Bug 1564968).
HTML
- Firefox kann Benutzern jetzt in den folgenden Situationen sicher generierte Passwörter vorschlagen:
- Ein
<input>-Element hat den Attributwertautocomplete="new-password". - Der Benutzer öffnet das Kontextmenü eines beliebigen Passworteingabefelds, auch wenn es nicht für neue Passwörter vorgesehen ist.
- Ein
CSS
-
Deckkraftwerte, etwa für
opacityoderstop-opacity, können jetzt als Prozentwerte angegeben werden (Firefox-Bug 1562086). -
grid-auto-columnsundgrid-auto-rowsakzeptieren jetzt mehrere Werte für die Größe von Rasterspuren (Firefox-Bug 1339672). -
Einige textbezogene CSS-Eigenschaften sind jetzt standardmäßig aktiviert (Firefox-Bug 1573631):
text-decoration-thickness.text-underline-offset.text-decoration-skip-ink. Der Standardwert istauto. Damit werden Unter- und Überstreichungen jetzt standardmäßig dort unterbrochen, wo sie andernfalls eine Glyphe kreuzen würden.
-
Die Eigenschaft
displayakzeptiert jetzt zwei Schlüsselwortwerte, die den inneren und den äußeren Anzeigetyp darstellen (Firefox-Bug 1038294, WebKit-Bug 1105868 und WebKit-Bug 1557825). -
Die Eigenschaft
font-sizeakzeptiert jetzt den neuen Schlüsselwortwertxxx-large(Firefox-Bug 1553545). -
Die Pseudoklasse
:visitedtrifft aus Gründen der Logik und Leistung nicht mehr auf<link>-Elemente zu (Firefox-Bug 1572246; weitere Hintergründe finden Sie unter Absicht zur Einführung: <link>-Elemente immer als nicht besucht behandeln und [selectors] :link und <link>). -
Für die Eigenschaft
quoteswird jetzt der Wertautounterstützt (Firefox-Bug 1421938). -
Stylesheets in
<style>-Elementen werden zur Wiederverwendung zwischengespeichert, um die Leistung zu verbessern (Firefox-Bug 1480146). Stylesheets mit@import-Regeln sind derzeit ausgenommen. -
Der Typ
<ratio>akzeptiert jetzt<number>/<number>oder einen einzelnen<number>-Wert (Firefox-Bug 1565562).
Entfernungen
- Die Unterstützung für <position> mit drei Werten wurde entfernt (außer für Hintergründe) (Firefox-Bug 1559276).
- Der Wert
noneist incounter()/counters()jetzt ungültig. Dadurch wird die Level-3-Spezifikation an CSS 2.1 angeglichen (Firefox-Bug 1576821).
SVG
- Ereignisse zum Ausschneiden, Kopieren und Einfügen werden jetzt an SVG-Grafikelemente gesendet (Firefox-Bug 1569474).
MathML
- Das veraltete Attribut
modefür<math>-Elemente wurde entfernt (Firefox-Bug 1573438). - Einheitenlose Längenwerte ungleich null, etwa
5für500%, werden nicht mehr unterstützt. - Längenwerte, die mit einem Punkt enden, etwa
2.oder34.px, werden ebenfalls nicht mehr unterstützt.
JavaScript
- Numerische Trennzeichen werden jetzt unterstützt (Firefox-Bug 1435818).
- Die Methode
Intl.RelativeTimeFormat.formatToParts()wurde implementiert (Firefox-Bug 1473229). - Die Methode
BigInt.prototype.toLocaleString()wurde aktualisiert und unterstützt jetzt die Parameterlocalesundoptionsgemäß der ECMAScript-402-Intl-API. Außerdem akzeptierenIntl.NumberFormat.format()undIntl.NumberFormat.formatToParts()jetztBigInt-Werte (Firefox-Bug 1543677). - Gemäß der aktuellen ECMAScript-Spezifikation ist eine führende Null bei BigInt-Literalen nicht mehr zulässig. Damit sind
08nund09nungültig, ebenso wie bereits zuvor ältere oktale Schreibweisen wie07n. Verwenden Sie für oktaleBigInt-Zahlen immer eine führende Null gefolgt vom Buchstaben „o“ (klein oder groß), also beispielsweise0o755nstatt0755n. Siehe Firefox-Bug 1568619. - Der Unicode-Erweiterungsschlüssel „nu“ wird jetzt vom Konstruktor
Intl.RelativeTimeFormatunterstützt. Die MethodeIntl.RelativeTimeFormat.resolvedOptions()gibt jetzt außerdemnumberingSystemzurück (Firefox-Bug 1521819).
APIs
DOM
- Die Methoden
back(),forward()undgo()sind jetzt asynchron. Registrieren Sie einen Listener für das Ereignispopstate, um benachrichtigt zu werden, wenn die Navigation abgeschlossen ist (Firefox-Bug 1563587). DOMMatrix,DOMPointund weitere APIs werden jetzt in Web Workern unterstützt (Firefox-Bug 1420580).- Einige weitere Member wurden von
HTMLDocumentnachDocumentverschoben, darunterDocument.all,Document.clear,Document.captureEventsundDocument.clear(Firefox-Bug 1558570, Firefox-Bug 1558571). - Die Berechtigung für Benachrichtigungen kann nicht mehr innerhalb eines Cross-Origin-
<iframe>angefordert werden (Firefox-Bug 1560741).
Medien, Web Audio und WebRTC
- Die Methode
RTCPeerConnection.restartIce()wurde hinzugefügt. Sie ist eine von vier Änderungen, die für den neuen Mechanismus „Perfect Negotiation“ erforderlich sind. Die übrigen folgen in zukünftigen Firefox-Versionen (Firefox-Bug 1551316). - Die Methode
RTCPeerConnection.setRemoteDescription()kann jetzt ohne Parameter aufgerufen werden. Dies ist eine weitere Aktualisierung für „Perfect Negotiation“ (Firefox-Bug 1568292). MediaTrackSupportedConstraints.groupIdwird jetzt unterstützt und gibttruezurück, da die EigenschaftMediaTrackConstraints.groupIdjetzt unterstützt wird (Firefox-Bug 1561254).- Mehrere Funktionen der Web Audio API wurden implementiert oder aktualisiert:
AudioContext.getOutputTimestamp()wurde implementiert (Firefox-Bug 1324545).AudioContext.baseLatencyundAudioContext.outputLatencywurden implementiert (Firefox-Bug 1324552).MediaElementAudioSourceNode.mediaElementundMediaStreamAudioSourceNode.mediaStreamwurden implementiert (Firefox-Bug 1350973).- Der Konstruktor
ChannelMergerNode()löst jetzt Fehler aus, wenn SiechannelCountoderchannelCountModeauf ungültige Werte setzen (Firefox-Bug 1456263).
Canvas und WebGL
CanvasRenderingContext2D.getTransform()wird jetzt unterstützt. Das gilt auch für die neuere Variante vonCanvasRenderingContext2D.setTransform(), die statt mehrerer Parameter für die einzelnen Matrixkomponenten ein Matrixobjekt als Parameter akzeptiert (Firefox-Bug 928150).
HTTP
- Wenn der verbesserte Schutz vor Aktivitätenverfolgung aktiviert ist, lautet die Standard-Referrer-Richtlinie für Tracking-Ressourcen von Drittanbietern jetzt
strict-origin-when-cross-origin(Firefox-Bug 1569996). - Die Größe des Anfrage-Headers
Refererist jetzt auf 4 KB (4096 Bytes) begrenzt. Überschreitet ein Referer diese Grenze, wird nur der Origin-Teil gesendet (Firefox-Bug 1557346). - Der HTTP-Cache wird jetzt nach der Origin des Dokuments auf oberster Ebene partitioniert (Firefox-Bug 1536058).
Entfernungen
- Die Direktive
allow-from urides HeadersX-Frame-Optionswurde entfernt. Verwenden Sie stattdessen den HeaderContent-Security-Policymit der Direktiveframe-ancestors(Firefox-Bug 1301529).
WebDriver-Konformität (Marionette)
- Der Befehl
WebDriver:TakeScreenshotwurde aktualisiert und ist jetzt mit Fission kompatibel. Dadurch sind Inhalte von Cross-Origin-iframes jetzt im Screenshot einer Seite enthalten. Wird der Befehl im Chrome-Kontext verwendet, ist der Inhalt des aktiven Tabs jetzt im Browserfenster sichtbar (Firefox-Bug 1559592). WebDriver:TakeScreenshotakzeptiert keine Liste von DOM-Elementen zum Hervorheben mehr (Firefox-Bug 1575511).WebDriver:ExecuteScriptundWebDriver:ExecuteAsyncScriptsetzenwindow.onunloadnicht mehr auf eine Weise, die für Webinhalte sichtbar ist (Firefox-Bug 1568991).
Änderungen für Add-on-Entwickler
>API-Änderungen
- Die Methode
topSites.get()hat einen neuen Parameter erhalten. Mit ihm gibt die Methode die Liste der Seiten zurück, die beim Öffnen eines neuen Tabs angezeigt werden (Firefox-Bug 1568617). - Die zulässigen Werte der Untereigenschaft
webRTCIPHandlingPolicyvonprivacy.networkwurden angepasst (Firefox-Bug 1452713, damit sie dem Verhalten in Chrome entsprechen:disable_non_proxied_udpverhinderte bisher die Nutzung von WebRTC, wenn kein Proxy konfiguriert war. Jetzt wird ein konfigurierter Proxy immer verwendet; ist keiner konfiguriert, ist eine Verbindung ohne Proxy zulässig.- Mit
proxy_onlylässt sich das bisherige Verhalten herstellen. Dadurch ist ausschließlich die ICE-Aushandlung über TURN per TCP mithilfe eines Proxys erlaubt; andere Verbindungen sind nicht zulässig.
Manifest-Änderungen
Entfernungen
Die folgenden Eigenschaften des Theme-Schlüssels, die als Aliasse für Theme-Schlüssel in Chromium-basierten Browsern dienten, wurden entfernt:
- Die Eigenschaft
headerURLvonimages. Themes sollten jetzttheme_frameverwenden. - Die folgenden Eigenschaften von
colors:accentcolor. Themes sollten jetztframeverwenden.textcolor. Themes sollten jetzttab_background_textverwenden.
Siehe auch
- Hacks-Beitrag zur Veröffentlichung: Firefox 70 – eine Veröffentlichung mit vielen Neuerungen für alle