Firefox 70 Versionshinweise für Entwickler
Dieser Artikel bietet Informationen über die Änderungen in Firefox 70, die Entwickler betreffen. Firefox 70 wurde am 22. Oktober 2019 veröffentlicht.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Debugger-Updates
- Im Debugger können Sie jetzt Breakpoints für DOM Mutation festlegen, sodass die Ausführung pausiert, wenn ein Knoten oder seine Attribute geändert werden oder wenn ein Knoten aus dem DOM entfernt wird (Firefox-Bug 1576219).
- Der Debugger zeigt jetzt eine Überlagerung auf der Seite an, wenn er pausiert ist, mit grundlegenden Schaltflächen zum Durchlaufen und Fortsetzen (Firefox-Bug 1574646).
- Der Debugger zeigt nun Quellen an, die bereits vom Engine verworfen wurden (normalerweise Skripte, die einmal beim Laden der Seite ausgeführt werden), sodass Sie ordnungsgemäß Breakpoints setzen können, um zu debuggen, wann sie das nächste Mal ausgeführt werden (Firefox-Bug 1572280).
- Die Gruppierung im Scopes-Panel des Debuggers wurde vereinfacht, indem zusätzliche Scopes, die zuvor über der obersten Functionsebene angezeigt wurden (z.B. Blöcke, die durch
let,withoderif/elseerstellt wurden), zusammengefasst wurden (Firefox-Bug 1448166). - Der Debugger behält jetzt die aktuell ausgewählten und erweiterten Variablen im Scopes-Panel während des Durchlaufens bei (Firefox-Bug 1405402).
- Der Debugger kann nun asynchrone Funktionen korrekt durchlaufen, wodurch das Debugging von asynchronen Funktionen erleichtert wird (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 ein Breakpoint darauf gesetzt und der Breakpoint auf "Hier niemals pausieren" umgeschaltet wird (Firefox-Bug 925269).- WebExtensions-Entwickler können
browser.storage.localaus dem Element Erweiterungsspeicher unter der Registerkarte Speicher untersuchen (Firefox-Bug 1585499).
Weitere Updates
- Ein Symbol wird neben inaktiven CSS-Eigenschaften in der Regeln-Ansicht des Seiteninspektors angezeigt, über das Sie Informationen darüber erhalten, warum es inaktiv ist (Firefox-Bug 1306054).
- In der CSS-Regeln-Ansicht zeigt der Farbwähler auf Vordergrundfarben nun an, ob sein Kontrast zur Hintergrundfarbe die Anforderungen an Barrierefreiheit erfüllt (Firefox-Bug 1478156).
- Das Dropdown-Menü "Auf Probleme prüfen" im Barrierefreiheitsinspektor beinhaltet jetzt Tastaturzugänglichkeitsprüfungen (Firefox-Bug 1564968).
HTML
- Firefox kann nun sicher generierte Passwörter in folgenden Situationen vorschlagen:
- Ein
<input>-Element hat den Attributwertautocomplete="new-password". - Der Benutzer öffnet das Kontextmenü auf einem beliebigen Passworteingabeelement, selbst wenn es nicht für neue Passwörter vorgesehen ist.
- Ein
CSS
-
Opacitätswerte wie für
opacityoderstop-opacitykönnen jetzt als Prozentsätze angegeben werden (Firefox-Bug 1562086). -
grid-auto-columnsundgrid-auto-rowsakzeptieren jetzt mehrere Werte für die Spurgröße (Firefox-Bug 1339672). -
Eine Reihe von textbezogenen CSS-Eigenschaften wurde standardmäßig aktiviert (Firefox-Bug 1573631):
text-decoration-thickness.text-underline-offset.text-decoration-skip-ink. Der Standardwert istauto, was bedeutet, dass Unterstreichungen und Oberstreichungen standardmäßig dort unterbrochen werden, wo sie sonst über ein Glyphe verlaufen würden.
-
Die
display-Eigenschaft akzeptiert jetzt zwei Schlüsselwortwerte, die den inneren und äußeren Anzeigetyp darstellen (Firefox-Bug 1038294, WebKit-Bug 1105868 und WebKit-Bug 1557825). -
Die
font-size-Eigenschaft akzeptiert nun den neuen Schlüsselwortwertxxx-large(Firefox-Bug 1553545). -
Die
:visited-Pseudoklasse stimmt aus logischen und Leistungsgründen nicht mehr mit<link>-Elementen überein (Firefox-Bug 1572246; siehe Intent to ship: Make<link>elements always unvisited und [selectors] :link and<link>für weitere Gründe). -
Wir unterstützen jetzt einen
auto-Wert für diequotes-Eigenschaft (Firefox-Bug 1421938). -
Stylesheets in
<style>-Elementen werden jetzt zwischengespeichert, um die Leistung zu verbessern (Firefox-Bug 1480146). Beachten Sie, dass dies derzeit keine Stylesheets mit@import-Regeln umfasst. -
Der
<ratio>-Typ akzeptiert jetzt<number>/<number>oder eine einzelne<number>als Wert (Firefox-Bug 1565562).
Entfernungen
- Die Unterstützung für dreifachwertige <position> (ohne Hintergrund) wurde eingestellt (Firefox-Bug 1559276).
- Der
none-Wert ist jetzt incounter()/counters()ungültig — eine Änderung, die den Level-3-Spezifikationen mit CSS 2.1 in Einklang bringt (Firefox-Bug 1576821).
SVG
- Ereignisse wie Ausschneiden, Kopieren und Einfügen werden jetzt an SVG-Grafikelemente übermittelt (Firefox-Bug 1569474).
MathML
- Das veraltete
mode-Attribut von<math>-Elementen wurde entfernt (Firefox-Bug 1573438). - Nicht nullwertige Längenwerte ohne Einheit, wie
5für500%, werden nicht mehr unterstützt. - Längenwerte, die mit einem Punkt enden, wie
2.oder34.px, werden jetzt ebenfalls nicht mehr unterstützt.
JavaScript
- Numerische Separatoren werden jetzt unterstützt (Firefox-Bug 1435818).
- Die Methode
Intl.RelativeTimeFormat.formatToParts()wurde implementiert (Firefox-Bug 1473229). - Die Methode
BigInt.prototype.toLocaleString()wurde aktualisiert, um mit den Parameternlocalesundoptionsgemäß der ECMAScript 402 Intl API zu arbeiten. Außerdem akzeptieren nunIntl.NumberFormat.format()undIntl.NumberFormat.formatToParts()BigInt-Werte (Firefox-Bug 1543677). - Gemäß der neuesten ECMAScript-Spezifikation ist eine führende Null für BigInt-Literale jetzt niemals erlaubt, was
08nund09nungültig macht, ähnlich wie der bestehende Fehler bei der Verwendung von alten Oktalzahlen wie07n. Verwenden Sie stets eine führende Null mit dem Buchstaben "o" (klein oder groß) für Oktal-BigInt-Zahlen (d.h.0o755nanstelle von0755n). Siehe Firefox-Bug 1568619. - Der Unicode-Erweiterungsschlüssel "nu" wird jetzt für den
Intl.RelativeTimeFormat-Konstruktor unterstützt und die MethodeIntl.RelativeTimeFormat.resolvedOptions()gibt nun auchnumberingSystemzurück (Firefox-Bug 1521819).
APIs
DOM
- Die Methoden
back(),forward()undgo()sind jetzt asynchron. Fügen Sie einen Listener zumpopstate-Ereignis hinzu, um benachrichtigt zu werden, dass die Navigation abgeschlossen ist (Firefox-Bug 1563587). - Wir haben Unterstützung für
DOMMatrix,DOMPointusw. in Webworkern hinzugefügt (Firefox-Bug 1420580). - Einige weitere Mitglieder wurden von
HTMLDocumentzuDocumentverschoben, einschließlichDocument.all,Document.clear,Document.captureEventsundDocument.clear(Firefox-Bug 1558570, Firefox-Bug 1558571). - Die Erlaubnis für Notification kann nicht mehr innerhalb eines fremden Ursprungs
<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 zur Implementierung des neuen "perfekten Verhandlungs"-Mechanismus erforderlich sind; der Rest wird in zukünftigen Firefox-Updates kommen (Firefox-Bug 1551316). - Die Methode
RTCPeerConnection.setRemoteDescription()kann jetzt ohne Parameter aufgerufen werden. Dies ist ein weiteres "perfektes Verhandlungs"-Update (Firefox-Bug 1568292). MediaTrackSupportedConstraints.groupIdwird jetzt unterstützt und gibttruezurück, da die EigenschaftMediaTrackConstraints.groupIdjetzt unterstützt wird (Firefox-Bug 1561254).- Mehrere neue Web Audio API-Features wurden implementiert/aktualisiert:
AudioContext.getOutputTimestamp()implementiert (Firefox-Bug 1324545).AudioContext.baseLatencyundAudioContext.outputLatencyimplementiert (Firefox-Bug 1324552).MediaElementAudioSourceNode.mediaElementundMediaStreamAudioSourceNode.mediaStreamimplementiert (Firefox-Bug 1350973).- Der Konstruktor
ChannelMergerNode()löst jetzt Fehler aus, wenn Sie versuchen,channelCountundchannelCountModeauf ungültige Werte zu setzen (Firefox-Bug 1456263).
Canvas und WebGL
- Wir unterstützen jetzt
CanvasRenderingContext2D.getTransform()und die neuere Variante vonCanvasRenderingContext2D.setTransform(), die ein Matrixobjekt als Parameter akzeptiert, anstatt mehrere Parameter, die die einzelnen Komponenten der Matrix repräsentieren (Firefox-Bug 928150).
HTTP
- Die Standard-Referrer-Policy für Drittanbieter-Tracking-Ressourcen ist jetzt
strict-origin-when-cross-origin, wenn Erweiterter Tracking-Schutz aktiviert ist (Firefox-Bug 1569996). - Die Größe des
Referer-Anforderungsheaders ist jetzt auf 4 KB (4.096 Bytes) beschränkt. Wenn ein zu langer Referer das definierte Limit überschreitet, wird nur der Ursprungsabschnitt gesendet (Firefox-Bug 1557346). - Der HTTP-Cache wird jetzt nach dem Ursprung des Top-Level-Dokuments partitioniert (Firefox-Bug 1536058).
Entfernungen
- Die
X-Frame-Options-Direktiveallow-from uriwurde entfernt. Verwenden Sie stattdessen denContent-Security-Policy-Header mit derframe-ancestors-Direktive (Firefox-Bug 1301529).
WebDriver-Konformität (Marionette)
- Der Befehl
WebDriver:TakeScreenshotwurde aktualisiert, um Fission kompatibel zu sein. Das bedeutet, dass Inhalt von fremden Ursprungs-Iframes jetzt in einem Screenshot der Seite enthalten ist. Oder wenn er im Chrome-Bereich verwendet wird, dass der Inhalt des aktiven Tabs jetzt sichtbar im Browserfenster ist (Firefox-Bug 1559592). WebDriver:TakeScreenshotakzeptiert nicht mehr eine Liste von DOM-Elementen, die zum Hervorheben verwendet werden (Firefox-Bug 1575511).WebDriver:ExecuteScriptundWebDriver:ExecuteAsyncScriptsetzen nicht mehrwindow.onunloadauf Arten, die im Web sichtbar sind (Firefox-Bug 1568991).
Änderungen für Add-on-Entwickler
>API-Änderungen
- Ein neuer Parameter wurde zur Methode
topSites.get()hinzugefügt, der dazu führt, dass die Methode die Liste der Seiten zurückgibt, die angezeigt werden, wenn der Benutzer einen neuen Tab öffnet (Firefox-Bug 1568617). - Die erlaubten Werte der Untereigenschaft
webRTCIPHandlingPolicyder Eigenschaftprivacy.networkwurden geändert (in Firefox-Bug 1452713), um dem Verhalten in Chrome zu entsprechen, wie folgt:disable_non_proxied_udpverhinderte zuvor die Verwendung von WebRTC, wenn kein Proxy konfiguriert war. Jetzt wird immer ein Proxy verwendet, wenn einer konfiguriert ist, aber ansonsten ist eine nicht-proxied Verbindung erlaubt.proxy_onlykann verwendet werden, um das alte Verhalten bereitzustellen; dies hat zur Folge, dass nur ICE-Verhandlungen über TURN auf TCP mit einem Proxy erlaubt sind; andere Verbindungen sind nicht erlaubt.
Manifest-Änderungen
Entfernungen
Die folgenden Thema-Schlüssel-Eigenschaften, die Aliase für Thema-Schlüssel darstellten, die in Chromium-basierten Browsern verwendet werden, wurden entfernt:
images-EigenschaftheaderURL, Themen sollten jetzttheme_frameverwenden.colors-Eigenschaften:accentcolor, Themen sollten jetztframeverwenden.textcolor, Themen sollten jetzttab_background_textverwenden.
Siehe auch
- Hacks-Veröffentlichungspost: Firefox 70 — a bountiful release for all