Versionshinweise zu Firefox 70 für Entwickler
Dieser Artikel beschreibt 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 dadurch angehalten, wenn ein Knoten oder seine Attribute geändert werden oder wenn ein Knoten aus dem DOM entfernt wird (Firefox-Bug 1576219).
- Wenn die Ausführung angehalten ist, zeigt der Debugger jetzt ein Overlay auf der Seite mit grundlegenden Schaltflächen zum schrittweisen Ausführen und Fortsetzen an (Firefox-Bug 1574646).
- Der Debugger zeigt jetzt auch Quellen an, die von der Engine bereits verworfen wurden (üblicherweise Skripte, die beim Laden der Seite einmalig ausgeführt werden). So können Sie Breakpoints setzen, um ihre nächste Ausführung zu untersuchen (Firefox-Bug 1572280).
- Die Gruppierung im Bereich für Gültigkeitsbereiche des Debuggers wurde vereinfacht. Zusätzliche Gültigkeitsbereiche, die zuvor oberhalb der Funktion auf oberster Ebene angezeigt wurden (z. B. durch
let,withoderif/elseerzeugte Blöcke), werden nun zusammengefasst (Firefox-Bug 1448166). - Der Debugger behält beim schrittweisen Ausführen die aktuell ausgewählten und aufgeklappten Variablen im Bereich für Gültigkeitsbereiche bei (Firefox-Bug 1405402).
- Der Debugger verarbeitet das schrittweise Überspringen asynchroner Funktionen jetzt korrekt, was das Debuggen asynchroner Funktionen erleichtert (Firefox-Bug 1570178).
- Beim Debuggen in Container-Sitzungen (nützlich zum Testen verschiedener Anmeldungen) werden die Quellen im Debugger jetzt korrekt angezeigt (Firefox-Bug 1375036).
debugger-Anweisungen können jetzt im Debugger deaktiviert werden, indem Sie einen Breakpoint darauf setzen und für diesen „Never pause here“ auswählen (Firefox-Bug 925269).- WebExtensions-Entwickler können
browser.storage.localüber den Eintrag „Extension Storage“ im Tab „Storage“ 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 Ihnen der Farbwähler für Vordergrundfarben jetzt an, ob deren Kontrast zur Hintergrundfarbe die Konformitätskriterien für Barrierefreiheit erfüllt (Firefox-Bug 1478156).
- Das Dropdown-Menü „Check for issues“ im Barrierefreiheitsinspektor enthält jetzt auch Prüfungen der Tastaturbedienbarkeit (Firefox-Bug 1564968).
HTML
- Firefox kann Nutzern jetzt in folgenden Situationen sicher generierte Passwörter vorschlagen:
- Ein
<input>-Element hat den Attributwertautocomplete="new-password". - Ein Nutzer öffnet das Kontextmenü eines beliebigen Passworteingabeelements, 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). -
Mehrere textbezogene CSS-Eigenschaften sind jetzt standardmäßig aktiviert (Firefox-Bug 1573631):
text-decoration-thickness.text-underline-offset.text-decoration-skip-ink. Der Standardwert istauto. Das bedeutet, dass Unter- und Überstreichungen standardmäßig dort unterbrochen werden, wo sie andernfalls eine Glyphe kreuzen würden.
-
Die Eigenschaft
displayakzeptiert jetzt zwei Schlüsselwortwerte, die den inneren und den äußeren Anzeigetyp festlegen (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 Intent to ship: Make <link> elements always unvisited und [selectors] :link and <link>). -
Für die Eigenschaft
quoteswird jetzt der Wertautounterstützt (Firefox-Bug 1421938). -
Stylesheets in
<style>-Elementen werden jetzt zur Wiederverwendung zwischengespeichert, um die Leistung zu verbessern (Firefox-Bug 1480146). Stylesheets mit@import-Regeln sind davon derzeit ausgenommen. -
Der Typ
<ratio>akzeptiert jetzt<number>/<number>oder einen einzelnen Wert vom Typ<number>(Firefox-Bug 1565562).
Entfernte Funktionen
- Die Unterstützung für <position> mit drei Werten (außer bei Hintergründen) wurde eingestellt (Firefox-Bug 1559276).
- Der Wert
noneist incounter()/counters()jetzt ungültig. Durch diese Änderung stimmt die Spezifikation der Stufe 3 mit CSS 2.1 überein (Firefox-Bug 1576821).
SVG
- Ausschneiden-, Kopieren- und Einfügen-Ereignisse werden jetzt an SVG-Grafikelemente gesendet (Firefox-Bug 1569474).
MathML
- Das veraltete Attribut
modefür<math>-Elemente wurde entfernt (Firefox-Bug 1573438). - Von null verschiedene Längenwerte ohne Einheit, beispielsweise
5für500%, werden nicht mehr unterstützt. - Längenwerte, die mit einem Punkt enden, beispielsweise
2.oder34.px, werden jetzt 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, sodass sie die Parameterlocalesundoptionsgemäß der ECMAScript 402 Intl API verarbeitet. Außerdem akzeptierenIntl.NumberFormat.format()undIntl.NumberFormat.formatToParts()jetztBigInt-Werte (Firefox-Bug 1543677). - Gemäß der aktuellen ECMAScript-Spezifikation ist eine führende Null für BigInt-Literale nicht mehr zulässig. Dadurch sind
08nund09nebenso ungültig wie bisher schon veraltete Oktalzahlen wie07n. Verwenden Sie für oktaleBigInt-Zahlen nach der führenden Null immer den Buchstaben „o“ (klein- oder großgeschrieben), 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. Fügen Sie einen Listener für das Ereignispopstatehinzu, 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 ursprungsübergreifenden
<iframe>angefordert werden (Firefox-Bug 1560741).
Medien, Web Audio und WebRTC
- Die Methode
RTCPeerConnection.restartIce()wurde hinzugefügt. Dies ist eine von vier Änderungen, die für die Implementierung des neuen Mechanismus „Perfect Negotiation“ erforderlich sind. Die übrigen folgen in kü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 neue 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 Komponenten der Matrix ein Matrixobjekt als Parameter akzeptiert (Firefox-Bug 928150).
HTTP
- Die standardmäßige Referrer-Richtlinie für Tracking-Ressourcen von Drittanbietern ist jetzt
strict-origin-when-cross-origin, wenn der verbesserte Schutz vor Aktivitätenverfolgung aktiviert ist (Firefox-Bug 1569996). - Die Größe des Anfrage-Headers
Refererist jetzt auf 4 KB (4.096 Byte) begrenzt. Überschreitet ein zu langer Referer diese Grenze, wird nur der Origin-Teil gesendet (Firefox-Bug 1557346). - Der HTTP-Cache wird jetzt nach dem Origin des Dokuments auf oberster Ebene partitioniert (Firefox-Bug 1536058).
Entfernte Funktionen
- Die Direktive
allow-from urifürX-Frame-Optionswurde entfernt. Verwenden Sie stattdessen den HeaderContent-Security-Policymit der Direktiveframe-ancestors(Firefox-Bug 1301529).
WebDriver-Konformität (Marionette)
- Der Befehl
WebDriver:TakeScreenshotwurde für die Kompatibilität mit Fission aktualisiert. Dadurch werden Inhalte aus ursprungsübergreifenden iframes jetzt in Screenshots einer Seite erfasst. Wird der Befehl im Chrome-Scope verwendet, ist außerdem der Inhalt des aktiven Tabs im Browserfenster sichtbar (Firefox-Bug 1559592). WebDriver:TakeScreenshotakzeptiert keine Liste von DOM-Elementen zur Hervorhebung 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
- Der Methode
topSites.get()wurde ein neuer Parameter hinzugefügt. Er bewirkt, dass die Methode die Liste der Seiten zurückgibt, die beim Öffnen eines neuen Tabs angezeigt werden (Firefox-Bug 1568617). - Die zulässigen Werte der Untereigenschaft
webRTCIPHandlingPolicyvonprivacy.networkwurden angepasst (in Firefox-Bug 1452713, um dem Verhalten in Chrome zu entsprechen:disable_non_proxied_udpverhinderte bisher die Verwendung von WebRTC, wenn kein Proxy konfiguriert war. Jetzt wird ein konfigurierter Proxy immer verwendet; andernfalls ist eine Verbindung ohne Proxy zulässig.- Mit
proxy_onlylässt sich das frühere Verhalten herstellen: Die ICE-Aushandlung ist dann nur über TURN auf TCP unter Verwendung eines Proxys zulässig. Andere Verbindungen sind nicht erlaubt.
Manifest-Änderungen
Entfernte Funktionen
Die folgenden Eigenschaften des Theme-Schlüssels, die Aliase für Theme-Schlüssel in Chromium-basierten Browsern bereitstellten, wurden entfernt:
- Die Eigenschaft
headerURLunterimages; Themes sollten jetzttheme_frameverwenden. - Die Eigenschaften unter
colors:accentcolor; Themes sollten jetztframeverwenden.textcolor; Themes sollten jetzttab_background_textverwenden.
Siehe auch
- Veröffentlichungsbeitrag auf Hacks: Firefox 70 – eine umfangreiche Version für alle