Firefox 63 für Entwickler

Dieser Artikel enthält Informationen über die Änderungen in Firefox 63, die Entwickler betreffen werden. Firefox 63 wurde am 23. Oktober 2018 veröffentlicht.

Änderungen für Webentwickler

Entwicklertools

HTML

Entfernungen

  • Unterstützung für den sidebar-Link-Typ (rel="sidebar") wurde entfernt. Wenn ein Ankertag dieses Attribut enthält, wird es ignoriert (Firefox-Bug 1452645).

CSS

Entfernungen

  • Entfernt offset-block-start, offset-block-end, offset-inline-start, und offset-inline-end; diese wurden wie oben beschrieben in inset-* umbenannt (Firefox-Bug 1464782).

SVG

Keine Änderungen.

JavaScript

Entfernungen

  • Experimentelle WebAssembly Modul-IndexedDB-Serialisierungsunterstützung wurde entfernt (Firefox-Bug 1469395).

APIs

Neue APIs

DOM

DOM-Ereignisse

  • Die Behandlung der Alt-Taste auf der rechten Seite der Tastatur wurde unter Windows verbessert. Wenn das aktuelle Tastaturlayout des Benutzers die Alt-Taste der AltGr-Modifikatortaste zuordnet, wird der Wert von KeyboardEvent.key jetzt als "AltGraph" gemeldet. Dieses Verhalten entspricht dem kürzlich in Chrome eingeführten Verhalten (Firefox-Bug 900750).

Medien, Web Audio und WebRTC

  • Der Mikrofonzugriff funktioniert jetzt gleichzeitig in mehreren Tabs, selbst innerhalb desselben Inhaltsprozesses (Firefox-Bug 1404977).
  • RTCDataChannel wurde aktualisiert, um das sctp-sdp-21-Datenformat für die Daten neben dem zuvor unterstützten sctp-sdp-05-Format zu unterstützen.
  • Der Knoten-Typ ConstantSourceNode für Web Audio API hat jetzt eine Standardkanalanzahl von 2 statt 1, um der Spezifikation zu entsprechen (Firefox-Bug 1413283).
  • Die Web Audio API-Schnittstelle AudioScheduledSourceNode (und damit alle anderen darauf basierenden Knotentypen) wirft jetzt die richtige Ausnahme aus, wenn ein negativer Wert für die Startzeit des Knotens angegeben ist. Dieser Fehler ist ein RangeError (Firefox-Bug 1413284).
  • Die minimalen und maximalen zulässigen Werte für das AudioParam-Objekt value wurden auf den minimalen negativen Einzelpräzisions-Gleitkommawert (-340.282.346.638.528.859.811.704.183.484.516.925.440) und den maximalen positiven Einzelpräzisions-Gleitkommawert (+340.282.346.638.528.859.811.704.183.484.516.925.440) geändert (Firefox-Bug 1476695).
  • Die Methode SourceBuffer.changeType, die es Ihnen ermöglicht, Codecs während eines aktiven Streams zu ändern, wurde standardmäßig aktiviert. Dies ist Teil der Media Source Extensions API (Firefox-Bug 1481166).
  • Die Methode AudioParam.setValueCurveAtTime() wurde aktualisiert, um korrekt ein Array von Gleitkommawerten zu akzeptieren, um die Werte des Parameters anzugeben, die im Laufe der Zeit geändert werden sollen. Früher erforderte sie ein Float32Array (Firefox-Bug 1421091).
  • AudioParam.setValueCurveAtTime() wurde auch aktualisiert, um korrekt einen entsprechenden TypeError zurückzugeben, wenn ein nicht endlicher Wert im values-Array gefunden wird (Firefox-Bug 1472095).
  • Darüber hinaus wurde setValueCurveAtTime() aktualisiert, um sicherzustellen, dass, wenn der Parameter nach Ablauf der Dauer entlang der angegebenen Wertkurve folgt, der Wert des Parameters auf den letzten Wert in der Liste der Werte gesetzt wird, die durchlaufen werden sollen (Firefox-Bug 1308436).
  • Das Wörterbuch RTCRTPStreamStats wurde in RTCRtpStreamStats umbenannt, um Konsistenz mit anderen WebRTC-Wörterbüchern und der Spezifikation zu gewährleisten (Firefox-Bug 1480498).
  • Unterstützung für die kind-Eigenschaft im RTCRtpStreamStats-Wörterbuch wurde hinzugefügt (Firefox-Bug 1481851).
  • Die isRemote-Eigenschaft des RTCRtpStreamStats-Wörterbuchs ist veraltet und wird in Firefox 65 entfernt. Eine Warnung wird jetzt in die Konsole ausgegeben, wenn auf diese Eigenschaft zugegriffen wird. Siehe diesen Blog-Beitrag auf dem Advancing WebRTC Blog für Details (Firefox-Bug 1393306).

Canvas und WebGL

  • Ein neues powerPreference-Kontextattribut wurde zu HTMLCanvasElement.getContext() hinzugefügt. Auf macOS ermöglicht es WebGL Anwendungen und Applets, die nicht performance-kritisch sind, die Low-Power-GPU anstelle der High-Power-GPU in Multi-GPU-Systemen anzufordern (Firefox-Bug 1349799).

Entfernungen

CSSOM

Keine Änderungen.

HTTP

Sicherheit

  • Seitenfavicons unterliegen jetzt der Content Security Policy, wenn eine für die Seite konfiguriert ist (Firefox-Bug 1297156).
  • Der CSP script-src-Direktive report-sample-Ausdruck wird jetzt beim Generieren von Verstoßberichten erkannt. Diese Direktive gibt an, dass ein kurzes Beispiel, wo der Verstoß aufgetreten ist, in den Bericht aufgenommen werden sollte. Bisher hat Firefox dieses Beispiel immer eingeschlossen (Firefox-Bug 1473218).
  • Firefox verwendet jetzt NSS 3.39 (Firefox-Bug 1470914).

Plugins

Keine Änderungen.

WebDriver-Konformität (Marionette)

Neue Funktionen

  • Marionette gibt jetzt eine setWindowRect Fähigkeit in der WebDriver:NewSession-Antwort zurück, die wahr ist, wenn das Browserfenster repositioniert und in der Größe verändert werden kann, was z.B. für Firefox der Fall ist, aber nicht für mobile Anwendungen (Firefox-Bug 1470659).
  • Unterstützung für die unhandledPromptBehavior-Fähigkeit hinzugefügt, die es ermöglicht, ein spezifisches Prompt-Verhalten der WebDriver-Spezifikation zu definieren (Firefox-Bug 1264259).
  • Die Behandlung von Benutzereingabeaufforderungen wurde zu den Befehlen WebDriver:ExecuteScript und WebDriver:ExecuteAsyncScript hinzugefügt (Firefox-Bug 1439995).

API-Änderungen

  • Veraltete Befehlspunkte ohne das WebDriver:-Präfix wurden entfernt (Firefox-Bug 1451725).
  • Der WebDriver:NewSession-Befehl gibt empfohlene Zeichenfolgen (linux, mac, windows) für platformName zurück, wie in der WebDriver-Spezifikation definiert (Firefox-Bug 1470646).

Fehlerbehebungen

  • Fokusbezogene Ereignisse fehlten bei der Element-Interaktion, wenn Firefox nicht als oberste Anwendung ausgeführt wurde (Firefox-Bug 1398111).
  • Das Ausführen von pointerDown und pointerUp Aktionen in einer nachfolgenden Aktionssequenz konnte einen Doppelklick auslösen, da WebDriver:ReleaseActions den Doppelklick-Tracker nicht zurücksetzte (Firefox-Bug 1422583).
  • Das wiederholte Ausführen von pause-Aktionen konnte zu einem unbegrenzten Stillstand führen (Firefox-Bug 1447449).
  • Ein Fehler wurde behoben, bei dem das Zurückgeben einer Elementensammlung von WebDriver:ExecuteScript und WebDriver:ExecuteAsyncScript zu einem zyklischen Referenzfehler führte (Firefox-Bug 1447977).
  • Um eine Race-Bedingung zu verhindern, warten die Befehle WebDriver:AcceptAlert und WebDriver:DismissAlert jetzt, bis die Benutzereingabeaufforderung geschlossen wurde (Firefox-Bug 1479368).
  • Protokolleinträge, die vom Frame-Skript ausgegeben wurden, waren nicht mehr auf MarionettePrefs.logLevel beschränkt, sondern protokollierten alles (Firefox-Bug 1482829).
  • WebDriver:TakeScreenshot warf einen Fehler, wenn versucht wurde, einen Screenshot von einem Fenster zu machen, das breiter oder höher als 32767 Pixel war (Firefox-Bug 1485730).
  • WebDriver:SendAlertText ersetzte den Standardwert der Benutzereingabeaufforderung nicht, wenn der gesendete Text eine leere Zeichenfolge war (Firefox-Bug 1486485).

Sonstiges

  • Das Verhalten von PerformanceObserver.observe() wurde korrigiert, um nichts zu tun, wenn keine gültigen Eintragungstypen in dem angegebenen Array von zu beobachtenden Eintragungstypen gefunden werden, oder wenn das Array leer oder fehlt. Bisher warf Firefox fälschlicherweise einen TypeError (Firefox-Bug 1403027).
  • In OpenSearch akzeptiert Firefox jetzt application/json als Such-URL-Typ, als Alias von application/x-suggestions+json (Firefox-Bug 1425827).

Änderungen für Add-on-Entwickler

API-Änderungen

Gestaltung

  • Die Standard-Textfarbe für browserAction-Abzeichen wird jetzt automatisch auf Schwarz oder Weiß gesetzt, um den Kontrast mit dem Hintergrund zu maximieren (Firefox-Bug 1474110).

  • Die accentcolor und textcolor Eigenschaften des theme Manifest-Schlüssels sind jetzt optional (Firefox-Bug 1413144).

  • browserAction.getBadgeTextColor() und browserAction.setBadgeTextColor() ermöglichen das Abrufen und Setzen der Textfarbe von Browseraktionsabzeichen (Firefox-Bug 1424620).

  • Der Theme-colors-Schlüssel in manifest.json unterstützt jetzt die ntp_text-Eigenschaft, um die Textfarbe in einem neuen Tab festzulegen, und die ntp_background-Eigenschaft, um die Farbe eines neuen Tabs festzulegen (Firefox-Bug 1347204).

  • Themes können jetzt die Farben für Seitenleisten definieren, wie z.B. die Lesezeichen-Seitenleiste (Firefox-Bug 1418602). Die relevanten Eigenschaften umfassen:

    • sidebar: Die Hintergrundfarbe für Seitenleisten.
    • sidebar_text: Die Textfarbe für Seitenleisten.
    • sidebar_highlight: Die Hintergrundfarbe eines ausgewählten Elements in einer Seitenleiste.
    • sidebar_highlight_text: Die Textfarbe eines ausgewählten Elements in einer Seitenleiste.
  • Die Methode management.install() ermöglicht es Web-Erweiterungen, signierte Browser-Themes zu installieren und zu aktivieren (Firefox-Bug 1369209).

  • Der Manifest-Schlüssel theme_experiment wurde eingeführt (Firefox-Bug 1472740). Dieser Schlüssel ermöglicht die Definition experimenteller theme-Schlüssel-Eigenschaften für die Firefox-Oberfläche.

Suche

  • Das neue search-API ermöglicht das Abrufen der Liste installierter Suchmaschinen und das Durchführen von Suchanfragen mit ihnen (Firefox-Bug 1352598).
  • topSites.get() nimmt jetzt einen options-Parameter entgegen, der das Festlegen verschiedener Optionen für die Liste der zurückgegebenen Sites ermöglicht (Firefox-Bug 1445836).

Tabs

  • tabs.onHighlighted unterstützt jetzt Mehrfachauswahl (Firefox-Bug 1474440).
  • tabs.highlight beinhaltet jetzt ein optionales Feld im highlightInfo-Objekt — populate — das standardmäßig auf true gesetzt ist. Das Setzen auf false verhindert, dass das zurückgegebene windows.Window-Objekt mit einer Liste von Tabs gefüllt wird, um die Leistung zu verbessern (Firefox-Bug 1489814).
  • tabs.update unterstützt jetzt das Ändern des Auswahlstatus eines Tabs, indem highlighted: true im updateProperties-Parameter aufgenommen wird (Firefox-Bug 1479129).
  • tabs.update unterstützt jetzt das Ändern des Auswahlstatus eines Tabs, ohne den fokussierten Tab zu ändern (Firefox-Bug 1486050), indem sowohl highlighted: true als auch active: false im updateProperties-Parameter aufgenommen werden.
  • tabs.query gibt jetzt ein Array von tabs.Tab-Objekten zurück, wenn mehrere Tabs ausgewählt sind (Firefox-Bug 1465170).
  • Die tabs.Tab-Eigenschaft spiegelt jetzt korrekt wider, welche Tabs in einem Browserfenster ausgewählt (hervorgehoben) sind, und tabs.highlight unterstützt das Ändern des Hervorhebungsstatus mehrerer Tabs (Firefox-Bug 1464862).
  • Die isarticle-Eigenschaft im filter-Objekt, das an tabs.onUpdated übergeben wird, wurde in isArticle umbenannt. Der alte Name bleibt erhalten, ist jedoch veraltet. Diese Änderung wurde auf Firefox 62 angehoben (Firefox-Bug 1461695).
  • Das tabs.onUpdated-Ereignis kann verwendet werden, um zu verfolgen, wann ein Tab die Aufmerksamkeit des Benutzers mit der attention-Eigenschaft des changeInfo-Objekts lenkt (Firefox-Bug 1396684).

Menüs

Sonstiges

Ältere Versionen