Firefox 54 für Entwickler

Firefox 54 wurde am 13. Juni 2017 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die für Webentwickler nützlich sind.

Änderungen für Webentwickler

Entwicklerwerkzeuge

  • Die Netzwerkabfragezusammenfassung umfasst nun die tatsächlich übertragenen Datenmengen ("übertragene Größe"), ebenso wie die Leistungsanalyseansicht (Firefox-Bug 1168376).
  • Die Ansicht der Netzwerkabfrage-Header enthält jetzt Links zur zugehörigen Dokumentation auf MDN (Firefox-Bug 1320233).

CSS

  • clip-path unterstützt jetzt basic shapes (Firefox-Bug 1247229).
  • Firefox's Implementierungen von CSS Flexbox und CSS-Ausrichtung implementieren nun die aktualisierte Spezifikationssprache für die Interaktionen zwischen den Eigenschaften align-items und align-self sowie zwischen justify-items und justify-self (Firefox-Bug 1340309).
  • <input>-Elemente der Typen checkbox und radio, bei denen -moz-appearance: none gesetzt ist, sind nun nicht mehr ersetzte Elemente, um die Kompatibilität mit anderen Browsern zu gewährleisten (Firefox-Bug 605985).
  • Zuvor hatte ein mit display: inline-block gestyltes Element mit einem Kindelement vom Typ HTMLInputElement, das mit display:block gestylt war, eine falsche Grundlinie (Firefox-Bug 1330962). Dies wurde nun behoben.
  • Als Mozilla dedizierte Inhaltsthreads in Firefox einführte (durch das Electrolysis- oder e10s-Projekt), wurde die Unterstützung für das Styling von <option>-Elementen vorübergehend entfernt. Ab Firefox 54 können Sie wieder Vordergrund- und Hintergrundfarben für <option>-Elemente verwenden, indem Sie die Attribute color und background-color verwenden. Weitere Informationen finden Sie unter Firefox-Bug 910022. Beachten Sie, dass dies auf Linux aufgrund fehlender Kontraste noch deaktiviert ist (siehe Firefox-Bug 1338283 für Fortschritte in dieser Angelegenheit).
  • CSS-Animationen senden jetzt das animationcancel-Ereignis wie erwartet, wenn eine Animation vorzeitig abbricht (Firefox-Bug 1302648).
  • Transparente Farben (d.h. solche mit einem Alphakanal von 0) wurden in bestimmten Situationen als transparent Farbschlüsselwort serialisiert; dies wurde behoben, sodass Firefox der Spezifikation folgt (sowie den Implementierungen anderer Browser). Siehe (Firefox-Bug 1339394 für weitere Informationen.
  • Die proprietäre Pseudoklasse :-moz-table-border-nonzero ist nicht länger für Web-Inhalte verfügbar; sie ist nun auf das interne UA-Stylesheet von Firefox beschränkt (Firefox-Bug 1341925).
  • [css-grid] Intrinsischer Inhalt mit overflow:auto überlappt in Grid (Firefox-Bug 1348857).
  • [css-grid] Übertragener Min-Size-Beitrag eines prozentual großen Gitterelements mit einem intrinsischen Verhältnis (Firefox-Bug 1349320).

JavaScript

DOM & HTML DOM

  • Die [URL.toJSON()]-Methode(/de/docs/Web/API/URL/toJSON) wurde implementiert (Firefox-Bug 1337702).
  • Der [URLSearchParams()]-Konstruktor(/de/docs/Web/API/URLSearchParams/URLSearchParams) akzeptiert nun ein Record mit Zeichenfolgen als Init-Objekt (Firefox-Bug 1331580).
  • Die Werte, die von KeyboardEvent.key für druckbare Tasten zurückgegeben werden, wenn die Steuerungstaste ebenfalls gedrückt wird, wurden auf macOS (außer wenn die Command-Taste gedrückt wird) korrigiert (Firefox-Bug 1342865).
  • Die dom.workers.latestJSVersion-Voreinstellung, die hauptsächlich implementiert wurde, um Probleme bei der Verwendung von let in Workern zu umgehen (aufgrund von Firefox-Bug 855665, welcher inzwischen behoben wurde), wurde entfernt (siehe Firefox-Bug 1219523).
  • Die event.timeStamp-Eigenschaft gibt jetzt eine hochauflösende monotone Zeit (DOMHighResTimeStamp) zurück, anstatt einen Wert, der die Unix-Time in Millisekunden darstellt.

Web Workers und Service Workers

  • WorkerGlobalScope.close ist jetzt stattdessen auf DedicatedWorkerGlobalScope und SharedWorkerGlobalScope verfügbar. Diese Änderung wurde vorgenommen, um zu verhindern, dass close() auf Service Workern verfügbar ist, da es dort nicht verwendet werden soll und beim Aufruf immer eine Ausnahme auslöst (siehe Firefox-Bug 1336043).
  • Die Window.origin-Eigenschaft und die WorkerGlobalScope.origin wurden implementiert (siehe Firefox-Bug 1306170).
  • Die Client.type-Eigenschaft wurde implementiert (siehe Firefox-Bug 1339844).
  • Clients.matchAll() gibt jetzt Client-Objekte in der Reihenfolge des zuletzt fokussierten Clients zurück (siehe Firefox-Bug 1266747).
  • Einige Änderungen wurden im beobachteten Verhalten vorgenommen, wenn der [Request()]-Konstruktor(/de/docs/Web/API/Request/Request) ein vorhandenes Request-Objekt-Instanz erhält, um eine neue Instanz zu erstellen. Die folgenden neuen Verhaltensweisen sind dazu gedacht, die Sicherheit zu bewahren, während sie es dem Konstruktor weniger wahrscheinlich machen, Ausnahmen auszulösen:
    • Wenn dieses Objekt auf einem anderen Ursprung im Vergleich zum Aufruf des Konstruktors existiert, wird die Request.referrer entfernt.
    • Wenn dieses Objekt einen Request.mode von navigate hat, wird der mode-Wert in same-origin umgewandelt.

Audio/Video

Allgemein

Media Capture und Streams-API

Web Audio API

Encrypted MediaExtensions API

  • Der MediaKeySession.keySystem-String wurde aus der Spezifikation entfernt, und als solches haben wir ihn aus Firefox 54 entfernt (Firefox-Bug 1335555).
  • Unterstützung wurde für den VP9-Codec in verschlüsselten Streams unter Verwendung von Clear Key und Widevine hinzugefügt (Firefox-Bug 1338064).
  • Zuvor durfte MSE nur WebM/VP8-Video verwenden, wenn das System als "schnell genug" angesehen wurde. Jetzt wird die Wiedergabe von VP8-codierten webm/video-Medien immer unterstützt, unabhängig von der Systemleistung.

WebRTC

  • TCP-ICE-Kandidatenunterstützung, ursprünglich in Firefox 41 hinzugefügt, ist jetzt standardmäßig aktiviert. Dadurch kann die ICE-Schicht Kandidaten in Betracht ziehen, die anstelle des bevorzugten UDP TCP für die Übertragung verwenden. Dies kann in Umgebungen nützlich sein, in denen UDP blockiert ist (Firefox-Bug 1176382). Dieser Blogbeitrag erklärt das Feature ausführlicher.

Entfernungen aus der Webplattform

CSS

  • Die -moz-präfixierten Versionen der Werte isolate, isolate-override und plaintext für die unicode-bidi-Eigenschaft wurden entfernt (Firefox-Bug 1333675).

HTTP

  • Unterstützung für HTTP/1-Pipelining wurde in Firefox 54 entfernt. Die Beibehaltung ist angesichts der Kompatibilitäts- und Leistungsprobleme von Pipelining nicht wert, da wir uns in eine neue Welt voller HTTP/2 und anderer wesentlicher, standardisierter Verbesserungen der Netzwerkleistung bewegen. Die Voreinstellung network.http.pipelining (sowie die anderen Präferenzen, die mit "network.http.pipelining" beginnen) wird jetzt ignoriert. Weitere Informationen finden Sie unter Firefox-Bug 1340655.

Ältere Versionen