Firefox 69: Versionshinweise für Entwickler
Dieser Artikel informiert über die Änderungen in Firefox 69, die Entwickler betreffen. Firefox 69 wurde am 3. September 2019 veröffentlicht.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Debugger
- Mit Haltepunkten für Event Listener können Sie feststellen, welchen Code eine Seite als Reaktion auf Browserereignisse ausführt. Sie können bestimmte Ereignistypen wie
clickoderkeydownoder ganze Ereigniskategorien wie alle Mauseingabeereignisse auswählen (Firefox-Bug 1526082). - Skripte, die in der Quellliste des Debuggers angezeigt werden, können jetzt über die Kontextmenüoption Datei herunterladen gespeichert werden (Firefox-Bug 888161).
- In der Quellliste des Debuggers werden geladene Erweiterungen jetzt mit ihrem Namen statt nur mit ihrer UUID aufgeführt (Firefox-Bug 1486416). Dadurch lässt sich der zu debuggende Erweiterungscode wesentlich leichter finden.
- Dank verzögertem Laden von Skripten lädt der Debugger jetzt deutlich schneller (Firefox-Bug 1527488).
Konsole
- Meldungen in der Browser-Konsole zu Fehlern des Tracking-Schutzes, CSP-Fehlern und CORS-Fehlern werden automatisch gruppiert. So verursachen wiederholt blockierte Ressourcen und Speicherzugriffe weniger Meldungen (Firefox-Bug 1522396).
- Alle sichtbaren Protokolleinträge in der Konsole können über die neue Kontextmenüoption Sichtbare Meldungen exportieren nach in einer Datei gespeichert oder in die Zwischenablage kopiert werden (Firefox-Bug 1517728).
- Die Symbolleiste der Konsole wird jetzt bei wenig Platz auf eine einzige Zeile reduziert, um vertikalen Platz zu sparen (Firefox-Bug 972530).
- Meldungen aus Webinhalten können jetzt in der Konsole ausgeblendet werden, um sich auf Protokolleinträge der Firefox-Benutzeroberfläche zu konzentrieren (Firefox-Bug 1523842).
Netzwerk
- Ressourcen, die aufgrund von CSP oder gemischten Inhalten blockiert wurden, werden jetzt mit Angaben zum Grund im Netzwerk-Panel angezeigt (Firefox-Bug 1556451).
- Im Netzwerk-Panel kann eine neue, optionale Spalte URL aktiviert werden, die die vollständige URL von Ressourcen anzeigt (Firefox-Bug 1341155).
Inspektor
- Wenn Sie im Seiteninspektor den Mauszeiger über ein Element bewegen, zeigt die eingeblendete Informationsleiste jetzt auch an, ob das Element ein Flex-Container oder ein Flex-Item ist (Firefox-Bug 1521188).
- Bei der Untersuchung einer Seite mit einem Grid, das ein Subgrid enthält, werden die Overlay-Linien des übergeordneten Grids immer angezeigt, wenn die Linien des Subgrids angezeigt werden. Ist das Kontrollkästchen für das Overlay des übergeordneten Grids nicht aktiviert, erscheinen dessen Linien halbtransparent (Firefox-Bug 1550519).
Remote-Debugging
- Für Entwickler mobiler Webanwendungen haben wir das Remote-Debugging aus der alten WebIDE in das neu gestaltete about:debugging verlagert. Dadurch lässt sich GeckoView auf entfernten Geräten über USB wesentlich besser debuggen (Firefox-Bug 1462208).
Allgemeines
- Die Reihenfolge der DevTools-Panels wurde an ihre Beliebtheit angepasst (Firefox-Bug 1558630).
HTML
- Um der Spezifikation besser zu entsprechen, lädt der einem
<track>-Element zugeordnete Text-Track die WebVTT-Datei mit den Text-Cues nicht mehr, wenn das Element mit dem standardmäßigenmode-Wertdisablederstellt wird. Um beidisabledauf die Cues zuzugreifen oder sie zu bearbeiten, ändern Siemodeaufstartedoderhidden. Dadurch wird das Laden der WebVTT-Daten ausgelöst (Firefox-Bug 1550633).
Entfernungen
- Das HTML-Element
<keygen>wurde aus Firefox entfernt. Es war bereits seit einiger Zeit veraltet; seine Funktion wurde weitgehend durch andere Technologien ersetzt (Firefox-Bug 1315460).
CSS
- Der Wert
break-spacesfür die Eigenschaftwhite-spacewurde implementiert (Firefox-Bug 1351432). - SVG-Geometrieattribute wie
widthundheightkönnen jetzt auch als CSS-Eigenschaften definiert werden (Firefox-Bug 1383650). - Der Selektor
::cue, mit dem die von WebVTT angezeigten Untertitel („Cues“) gestaltet werden, setzt jetzt gemäß der Spezifikation die Beschränkungen für CSS-Eigenschaften innerhalb von Cues durch (Firefox-Bug 1321488). - Die Eigenschaften, die auf
::markerangewendet werden können, wurden gemäß der Spezifikation eingeschränkt (Firefox-Bug 1552578). - Die Eigenschaften
overflow-blockundoverflow-inlinewurden implementiert (Firefox-Bug 1470695). - Mit der Methode
selector()kann jetzt in CSS Feature Queries (@supports) geprüft werden, ob ein Selektor unterstützt wird (Firefox-Bug 1513643). - Die Eigenschaft
user-select, die festlegt, ob Benutzer Text im betreffenden Element auswählen können, kann jetzt ohne Präfix verwendet werden (Firefox-Bug 1492739). - Gebietsschemaspezifische Regeln für die Groß- und Kleinschreibung im Litauischen wurden implementiert (Firefox-Bug 1322992), wie dieses Beispiel zeigt.
- Die CSS-Text-Eigenschaft
line-breakwurde implementiert (Firefox-Bug 1011369 und Firefox-Bug 1531715). - Die Eigenschaft
contain, mit der Entwickler festlegen können, dass ein Element und sein Inhalt weitgehend unabhängig vom übrigen DOM-Baum sind, wurde implementiert (Firefox-Bug 1487493).
SVG
- Unterstützung für gzip-komprimiertes SVG-in-OpenType wurde hinzugefügt (Firefox-Bug 1359240).
- Die Methoden
SVGGeometryElement.isPointInFill()undSVGGeometryElement.isPointInStroke()wurden implementiert (Firefox-Bug 1325319).
JavaScript
- Öffentliche Klassenfelder sind standardmäßig aktiviert (Firefox-Bug 1555464). Weitere Informationen finden Sie unter Klassenfelder.
- Die Ereignisse
unhandledrejectionundrejectionhandledfür abgelehnte Promises sind jetzt standardmäßig aktiviert (Firefox-Bug 1362272). Weitere Informationen zu ihrer Funktionsweise finden Sie unter Ereignisse bei abgelehnten Promises.
HTTP
- Die HTTP-Header
Access-Control-Expose-Headers,Access-Control-Allow-MethodsundAccess-Control-Allow-Headersakzeptieren jetzt bei Anfragen ohne Anmeldedaten den Platzhalterwert*(Firefox-Bug 1309358). Diese Änderung wurde auch in Firefox 68 ESR übernommen.
APIs
Neue APIs
- Die Resize Observer API wird standardmäßig unterstützt (Firefox-Bug 1543839).
- Die Microtask API (
Window.queueMicrotask()undWorkerGlobalScope.queueMicrotask()) wurde implementiert (Firefox-Bug 1480236).
DOM
DOMMatrix,DOMPointund zugehörige Objekte werden jetzt in Workern unterstützt (Firefox-Bug 1420580).- Die Eigenschaften
pageXundpageYwurden vonUIEventnachMouseEventverschoben, um der Spezifikation besser zu entsprechen (Firefox-Bug 1178763). Diese Eigenschaften sind für die InterfacesCompositionEvent,FocusEvent,InputEvent,KeyboardEventundTouchEvent, die alle vonUIEventerben, nicht mehr verfügbar. - Die Methoden
Blob.text(),Blob.arrayBuffer()undBlob.stream()wurden implementiert (Firefox-Bug 1557121). DOMMatrixReadOnly.fromMatrix()wurde implementiert (Firefox-Bug 1560462).- Die Version der Methode
DOMMatrixReadOnly.scale()mit sechs Parametern wird jetzt unterstützt (Firefox-Bug 1397945). - Die Argumente von
DOMMatrixReadOnly.translate(),DOMMatrixReadOnly.skewX()undDOMMatrixReadOnly.skewY()sind jetzt gemäß der Spezifikation allesamt optional (Firefox-Bug 1397949). - Die Eigenschaften
Navigator.userAgent,Navigator.platformundNavigator.oscpugeben nicht mehr preis, ob ein Benutzer die 32-Bit-Version von Firefox auf einem 64-Bit-Betriebssystem ausführt (Firefox-Bug 1559747). Sie melden jetztLinux x86_64stattLinux i686 on x86_64undWin64stattWOW64. - Die verbleibenden Methoden von
HTMLDocumentwurden nachDocumentverschoben. In den meisten Fällen dürfte sich das nicht merklich auf Ihre Arbeit auswirken. Insbesondere wurden die Methodenclose(),open()undwrite()verschoben. Dasselbe gilt für verschiedene editorbezogene Methoden, darunterexecCommand(), sowie für verschiedene Eigenschaften (Firefox-Bug 1549560). AbstractRangeundStaticRangewurden implementiert (Firefox-Bug 1444847).
Medien, Web Audio und WebRTC
- Um die Sicherheit der Benutzer zu verbessern und den neuesten Versionen der Spezifikation Media Capture and Streams zu entsprechen, ist die Eigenschaft
navigator.mediaDevicesin unsicheren Kontexten nicht mehr vorhanden. Stellen Sie sicher, dass Ihre Inhalte über HTTPS geladen werden, wenn SiegetUserMedia(),getDisplayMedia(),enumerateDevices()und ähnliche Methoden verwenden möchten (Firefox-Bug 1528031). - Die Eigenschaft
AudioParam.valueder Web Audio API gibt jetzt den tatsächlichen Wert der Eigenschaft zum aktuellen Zeitpunkt zurück und berücksichtigt dabei alle geplanten oder schrittweisen Wertänderungen. Zuvor gab Firefox nur den zuletzt ausdrücklich festgelegten Wert zurück, etwa einen über denvalue-Setter gesetzten Wert (Firefox-Bug 893020). MediaStreamAudioSourceNodeverwendet jetzt die neue lexikografische Reihenfolge für Tracks. Zuvor hing die Reihenfolge vom jeweiligen Browser ab und konnte sich sogar willkürlich ändern. Außerdem löst der Versuch, einenMediaStreamAudioSourceNodemit einem Stream ohne Audio-Tracks zu erstellen, jetzt eineInvalidStateError-Ausnahme aus (Firefox-Bug 1553215).- Die Einstellungen
facingMode,deviceIdundgroupIdsind jetzt als Eigenschaften des Objekts enthalten, das Aufrufe vonMediaStreamTrack.getSettings()zurückgeben (Firefox-Bug 1537986).
Entfernungen
- Die Methode
DOMMatrix.scaleNonUniformSelf()wurde entfernt (Firefox-Bug 1560119).
WebDriver-Konformität (Marionette)
Sonstiges
- Marionette verarbeitet das Öffnen und Schließen modaler Dialoge und Benutzerabfragen jetzt dynamisch (Firefox-Bug 1477977). Dadurch können auch mehrere gleichzeitig geöffnete Abfragen verarbeitet werden (Firefox-Bug 1487358).
- Der Tracking-Schutz und die DOM-Push-Funktionen sind jetzt standardmäßig deaktiviert, um das Entfernen von Teilen des DOM und zusätzliche Benachrichtigungen zu vermeiden (Firefox-Bug 1542244).
- Das automatische Entladen von Hintergrund-Tabs bei knappem Arbeitsspeicher ist jetzt deaktiviert, da es die Automatisierung beim Wechsel zwischen Tabs erheblich beeinträchtigt (Firefox-Bug 1553748).
Änderungen für Add-on-Entwickler
>API-Änderungen
- Die UserScripts API ist jetzt standardmäßig aktiviert.
- Für die Methode
topSites.get()stehen jetzt die neuen OptionenincludePinnedundincludeSearchShortcutszur Verfügung (Firefox-Bug 1547669).
Weitere Änderungen
- Mit neuen Gruppenrichtlinienoptionen können alle Erweiterungen außer den ausdrücklich zugelassenen blockiert werden (Firefox-Bug 1522823).
Siehe auch
- Beitrag zur Veröffentlichung auf Hacks: Firefox 69 – eine Geschichte über Resize Observer, Microtasks, CSS und DevTools