Firefox 64 für Entwickler
Dieser Artikel bietet Informationen zu den Änderungen in Firefox 64, die Entwickler beeinflussen werden. Firefox 64 wurde am 11. Dezember 2018 veröffentlicht.
Änderungen für Webentwickler
Entwicklerwerkzeuge
-
Die Barrierefreiheits-Infoleiste wurde erweitert, um Informationen über das Farbkontrastverhältnis von Text oder Bildern auf der Seite einzubeziehen (Firefox Fehler 1473037).
-
Die Gerätauswahl im Responsive Design Modus wird jetzt über Sitzungen hinweg gespeichert (Firefox Fehler 1248619).
-
Ressourcen, die möglicherweise von Tracking-Schutz betroffen sind, werden nun im Netzwerkmonitor angezeigt (Firefox Fehler 1333994).
-
Die Webkonsole erhielt Verbesserungen beim Eingeben und Auswerten von Code:
- Die Autovervollständigung für Konsolen-Ausdrücke unterscheidet nun nicht mehr zwischen Groß- und Kleinschreibung (Firefox Fehler 672733).
- Es ist nun möglich, mit einer Bash-ähnlichen Rückwärtssuche durch die Konsolen-Ausdruckshistorie zu navigieren (Firefox Fehler 1024913).
- Der ausgewertete Code in der Konsole wird jetzt sowohl im Eingabe- als auch im Ausgabeabschnitt syntaxhervorgehoben (Firefox Fehler 1463669).
-
Auch das Durchlaufen im JavaScript-Debugger wurde verbessert:
- Das Verlassen einer Funktion im Debugger überspringt nun den Rückgabewert (Firefox Fehler 923975).
Entfernungen
- Die GCLI der Entwicklerwerkzeuge wurde entfernt (Firefox Fehler 1429421).
HTML
Keine Änderungen.
CSS
- Die Funktionalität der CSS Scrollbars Spezifikation ist jetzt standardmäßig aktiviert (Firefox Fehler 1492012).
- Interaktionsmedienspezifikationen wie
pointer:coarse
wurden implementiert (Firefox Fehler 1035774). Für die Implementierung vonany-pointer
undany-hover
siehe Firefox Fehler 1483111. - Die Medienfunktion
prefers-reduced-motion
wird jetzt in Firefox für Android unterstützt (Firefox Fehler 1478505). - CSS
<gradient>
Werte unterstützen jetzt die Syntax für Mehrfachpositionsfarbstopps, z.B.yellow 25%, yellow 50%
kann nun alsyellow 25% 50%
geschrieben werden (Firefox Fehler 1352643). - Die
text-transform
Eigenschaft akzeptiert nun den Wertfull-size-kana
(Firefox Fehler 1498148). - Unterstützung für
-webkit-appearance
wurde hinzugefügt, um damit verbundene Web-Kompatibilitätsprobleme zu lindern (Firefox Fehler 1368555). - Eng verbunden mit dem obigen Update haben wir auch die meisten Firefox-spezifischen
-moz-appearance
Werte entfernt (Firefox Fehler 1496720). display
:list-item
wird jetzt auf<legend>
Elementen unterstützt (Firefox Fehler 1486602).- SVG
path()
s, wie sie inoffset-path
verwendet werden können, sind jetzt animierbar (Firefox Fehler 1486094). - Wenn eine Selektorkette oder -gruppe ein
-webkit-
präfixiertes Pseudoelement enthält, macht dieses Pseudoelement diese nicht mehr ungültig (siehe Firefox Fehler 1424106 für Details, und Firefox Fehler 1486325 für die Aktivierung dieser Funktion).
Entfernungen
- Die nicht standardmäßigen
-moz-box
und-moz-inline-box
display
Werte wurden aus Web-Inhalten verborgen (Firefox Fehler 1496961). - Das nicht standardmäßige
::-moz-tree
Pseudoelement wurde aus Web-Inhalten verborgen (Firefox Fehler 1496961). - Die
layout.css.filters.enabled
Einstellung wurde entfernt; CSS Filter können nicht mehr deaktiviert werden (Firefox Fehler 1408841). - Eine frühere Änderung — der Tausch der Werte der 2-Wert
overflow
Syntax, sodass Block zuerst und Inline zweitens spezifiziert wird (Firefox Fehler 1481866) — wurde rückgängig gemacht (Firefox Fehler 1492567). Siehe Bug 1481866 Kommentar 14 für den Grund.
SVG
Keine Änderungen.
JavaScript
- Der TC39 Well-formed JSON.stringify Vorschlag wurde umgesetzt, um zu verhindern, dass
JSON.stringify
ill-formed Unicode-Zeichenfolgen zurückgibt (Firefox Fehler 1469021). - Proxied-Funktionen können nun an
Function.prototype.toString
.call()
übergeben werden (Firefox Fehler 1440468). - Im
WebAssembly.Global()
Konstruktor wird, wenn kein Wert angegeben ist, ein typisierter 0-Wert verwendet. Dies ist durch denDefaultValue
Algorithmus spezifiziert (Firefox Fehler 1490286).
APIs
DOM
-
Eine Reihe von Änderungen in Bezug auf die Fullscreen API wurden umgesetzt:
- Die API ist nun unpräfixiert (Firefox Fehler 1269276).
- Die Methoden
Element.requestFullscreen()
undDocument.exitFullscreen()
geben nun beide einPromise
zurück, das aufgelöst wird, wenn der Moduswechsel abgeschlossen ist (Firefox Fehler 1188256 und Firefox Fehler 1491212). - Zuvor wurden
fullscreenchange
undfullscreenerror
Ereignisse zuerst an dasDocument
und dann an dasElement
gesendet. Dies wurde umgekehrt, sodass das Element das Ereignis zuerst erhält. Dies entspricht der neuesten Spezifikation sowie dem Verhalten von Google Chrome (Firefox Fehler 1375319).
-
Die WebVR API (1.1) ist nun auf macOS wieder aktiviert (Firefox Fehler 1476091).
-
Window.screenLeft
undWindow.screenTop
wurden implementiert, als Aliase fürWindow.screenX
undWindow.screenY
(Firefox Fehler 1498860). -
Die Methode
XMLHttpRequest.getAllResponseHeaders()
gibt jetzt Header-Namen alle in Kleinbuchstaben zurück, wie in der Spezifikation vorgesehen (Firefox Fehler 1398718). -
Das veraltete
HTMLAllCollection
Interface wurde gemäß den neuesten Spezifikationsupdates aktualisiert (Firefox Fehler 1398354). -
Navigator.buildID
gibt nun einen festen Zeitstempel als Datenschutzmaßnahme zurück (Firefox Fehler 583181). -
Die folgenden
Document.execCommand()
UI-Funktionsbefehle wurden standardmäßig deaktiviert (Firefox Fehler 1490641:enableObjectResizing
enableInlineTableEditing
enableAbsolutePositionEditor
Service Worker
- Die Methode
ServiceWorkerContainer.startMessages()
wurde implementiert (Firefox Fehler 1263734).
Medien, Web Audio und WebRTC
- Die Eigenschaften
PannerNode.refDistance
,PannerNode.maxDistance
,PannerNode.rolloffFactor
undPannerNode.coneOuterGain
werfen jetzt korrekt Ausnahmen, wenn sie auf Werte außerhalb ihrer akzeptierten Bereiche gesetzt werden (Firefox Fehler 1487963). - Einstellungen von
RTCRtpEncodingParameters
, die überRTCRtpSender.setParameters()
geändert wurden, wurden früher nicht aktualisiert, wenn die Änderungen während eines Anrufs vorgenommen wurden. Sie werden jetzt live aktualisiert, ohne erneute Verhandlung (Firefox Fehler 1253499). RTCIceCandidateStats.relayProtocol
wurde implementiert — dies ist die standardisierte Version vonRTCIceCandidateStats.mozLocalTransport
, die jetzt als veraltet gilt (Firefox Fehler 1435789).- Automatische Verstärkungsregelung (AGC) ist jetzt standardmäßig aktiviert; dies kann mit der Einstellung
media.getusermedia.agc_enabled
geändert werden (Firefox Fehler 1496714).
Entfernungen
- Die
Window.event
Eigenschaft, die in Firefox 63 hinzugefügt wurde, um Web-Kompatibilitätsprobleme zu lösen, wurde hinter einer Voreinstellung (dom.window.event.enabled
) platziert und in Release-Versionen standardmäßig deaktiviert, da andere Probleme aufgetreten sind (Firefox Fehler 1493869). Beachten Sie, dass dies tatsächlich spät im Release-Zyklus von Firefox 63 geschah, wir es hier jedoch zur Sicherheit erwähnen. - Das
LocalMediaStream
Interface und seinestop()
Methode wurden entfernt (Firefox Fehler 1258143). Diese Methode ist mit der Veralterung vonLocalMediaStream
nicht mehr verfügbar. Siehe den Abschnitt Stoppen eines Videostreams, um zu erfahren, wie ein gesamter Stream gestoppt wird. - Die Schnittstellen
AudioStreamTrack
undVideoStreamTrack
wurden entfernt, da beide seit einiger Zeit als veraltet gelten (Firefox Fehler 1377146). Ihre Funktionalität wurde inMediaStreamTrack
zusammengeführt; Tracks werden jetzt durch den Wert ihrerkind
Eigenschaft identifiziert, wieaudio
odervideo
.
Sicherheit
- Der Symantec CA Distrust Plan wurde umgesetzt (siehe Firefox Fehler 1409257; siehe auch die Mozilla's Plan for Symantec Roots Diskussion für weitere Einzelheiten).
Referrer-Policy
kann nun verwendet werden, um Ressourcen zu verwalten, die über Stylesheets abgerufen werden (Firefox Fehler 1330487) — siehe Integration mit CSS für weitere Informationen.
Plugins
Keine Änderungen.
WebDriver Konformität (Marionette)
API-Änderungen
- Veraltete Befehlsendpunkte ohne das Präfix
Marionette:
,L10n:
oderAddon:
(einschließlichsingeTap
) wurden entfernt (Firefox Fehler 1504478, Firefox Fehler 1504940).
Fehlerbehebungen
- Synthesizierte
Shift
Tastenereignisse durch Verwendung vonWebDriver:PerformActions
führten nicht zu Großbuchstaben (Firefox Fehler 1405370). WebDriver:Navigate
konnte zu einem unendlichen Stillstand führen, wenn sich der underlying content process des Tabs während dieser Navigation mehrfach änderte (Firefox Fehler 1504807).- Um die Leistung zu verbessern und den Speicheraufwand von Firefox zu reduzieren, wird die Standardseite, die für einen neuen Tab oder ein neues Fenster geladen wird, nicht mehr
about:newtab
, sondernabout:blank
sein (Firefox Fehler 1506643). - Das Einführungspanel für die Inhaltsblockierung, das auf verschiedenen Webseiten angezeigt wurde und dazu führte, dass Elementinteraktionen fehlschlugen, ist jetzt standardmäßig deaktiviert (Firefox Fehler 1488826).
Änderungen für Add-on-Entwickler
API-Änderungen
Menüs
-
Eine neue API,
, kann vommenus.overrideContext()
contextmenu
DOM-Ereignis aus aufgerufen werden, um ein benutzerdefiniertes Kontextmenü auf Erweiterungsseiten festzulegen. Diese API ermöglicht es Erweiterungen, alle Standardmenüeinträge von Firefox zu verbergen und stattdessen ein benutzerdefiniertes Kontextmenü-UI bereitzustellen. Dieses Kontextmenü kann aus mehreren obersten Menüeinträgen der Erweiterung bestehen und optional Registerkarten- oder Lesezeichen-Kontextmenüpunkte von anderen Erweiterungen enthalten. Siehe diesen Blogbeitrag für weitere Details.
wurde implementiert in (Firefox Fehler 1280347).menus.overrideContext()
- Die Option
showDefaults: false
, die verwendet werden kann, um die Standardkontextmenüoptionen zu verbergen, wurde implementiert in (Firefox Fehler 1367160). documentURLPatterns
kann jetzt verwendet werden, um einemoz-extension://
Dokument-URL abzugleichen, selbst wenn
verwendet wird. Auf diese Weise kann es zuverlässig eingesetzt werden, um benutzerdefinierte Menüpunkte auf bestimmte Dokumente zu beschränken (Firefox Fehler 1498896).menus.overrideContext()
-
Sie können jetzt einschränken, wo Kontextmenüs in einem Add-on erscheinen können, indem Sie die neue Eigenschaft
viewTypes
inmenus.create()
undmenus.update()
verwenden (Firefox Fehler 1416839). -
menus.update()
kann nun verwendet werden, um das Symbol eines vorhandenen Menüpunktes zu aktualisieren (Firefox Fehler 1414566). -
Erweiterungen können nun erkennen, welche Maustaste verwendet wurde, als ein Menüpunkt angeklickt wurde — dies kann mit der neuen Eigenschaft
button
vonmenus.OnClickData
ermittelt werden (Firefox Fehler 1469148).
Fenster
- Die Methode
windows.create()
hat jetzt eine neue verfügbare Option —cookieStoreId
— die denCookieStoreId
zum Einsetzen in alle beim Öffnen des Fensters erstellten Tabs angibt (Firefox Fehler 1393570).
Datenschutz
- Die
privacy.websites
cookieConfig
Eigenschaft ist ein Objekt, das einebehavior
Eigenschaft annehmen kann — diese Eigenschaft kann jetzt einen neuen Wert annehmen,reject_trackers
, der die Erweiterung anweist, Tracking-Cookies abzulehnen (Firefox Fehler 1493057).
devtools.panels API
- Die Methode
devtools.panels.elements
Sidebar.setPage()
wird jetzt unterstützt (Firefox Fehler 1398734).
Manifest-Änderungen
- Die neue
pinned
Eigenschaft despage_action
Manifests ermöglicht es Erweiterungen zu steuern, ob ihre Page-Actions nach der Installation in die Adressleiste fixiert werden sollen oder nicht (Firefox Fehler 1494135). - In nativen Manifesten auf Windows wird zuerst die 32-Bit-Registry-Ansicht (Wow6432Node) nach Registrierungsschlüsseln durchsucht, gefolgt von der „nativen“ Registry-Ansicht; Sie sollten diejenige verwenden, die für Ihre Anwendung geeignet ist (Firefox Fehler 1494709).
- Das
chrome_settings_overrides
Feldsearch_provider
kann nun neue Eigenschaften wiesuggest_url
undsuggest_url_post_params
(Firefox Fehler 1486819) sowiesearch_url_post_params
enthalten.
Siehe auch
- Hacks Release Post: Firefox 64 Released
Ältere Versionen
- Firefox 63 für Entwickler
- Firefox 62 für Entwickler
- Firefox 61 für Entwickler
- Firefox 60 für Entwickler
- Firefox 59 für Entwickler
- Firefox 58 für Entwickler
- Firefox 57 für Entwickler
- Firefox 56 für Entwickler
- Firefox 55 für Entwickler
- Firefox 54 für Entwickler
- Firefox 53 für Entwickler
- Firefox 52 für Entwickler
- Firefox 51 für Entwickler
- Firefox 50 für Entwickler
- Firefox 49 für Entwickler
- Firefox 48 für Entwickler
- Firefox 47 für Entwickler
- Firefox 46 für Entwickler
- Firefox 45 für Entwickler
- Firefox 44 für Entwickler
- Firefox 43 für Entwickler
- Firefox 42 für Entwickler
- Firefox 41 für Entwickler
- Firefox 40 für Entwickler
- Firefox 39 für Entwickler
- Firefox 38 für Entwickler
- Firefox 37 für Entwickler
- Firefox 36 für Entwickler
- Firefox 35 für Entwickler
- Firefox 34 für Entwickler
- Firefox 33 für Entwickler