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

Entwickler-Tools

  • Die Zusammenfassung von Netzwerk-Anfragen enthält jetzt die tatsächlich übertragene Datenmenge ("übertragene Größe"), ebenso die Performance-Analyseansicht (Firefox-Bug 1168376).
  • Die Ansicht der Netzwerkanfrage-Header verlinkt nun zur entsprechenden Dokumentation auf MDN (Firefox-Bug 1320233).

CSS

  • clip-path unterstützt jetzt Grundformen (Firefox-Bug 1247229).
  • Firefox-Implementierungen von CSS Flexbox und CSS-Alignment implementieren nun die aktualisierte Spezifikationssprache für die Interaktion 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 mit -moz-appearance: none sind jetzt nicht ersetzte Elemente, für die Kompatibilität mit anderen Browsern (Firefox-Bug 605985).
  • Zuvor hatte ein Element mit display: inline-block mit einem Kind-Element vom Typ HTMLInputElement, das mit display:block gestylt war, eine falsche Grundlinie (Firefox-Bug 1330962). Dies wurde nun behoben.
  • Als Mozilla dedizierte Inhalts-Threads 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 auf <option>-Elemente anwenden, mithilfe der Attribute color und background-color. Weitere Informationen finden Sie in Firefox-Bug 910022. Beachten Sie, dass dies unter Linux aufgrund des fehlenden Kontrasts immer noch deaktiviert ist (siehe Firefox-Bug 1338283 für Fortschritte dazu).
  • CSS-Animationen senden jetzt das animationcancel-Ereignis wie erwartet, wenn eine Animation vorzeitig abbricht (Firefox-Bug 1302648).
  • Transparente Farben (d.h. solche mit einem Alpha-Kanal von 0) wurden in bestimmten Situationen zum transparent color keyword serialisiert; dies wurde behoben, sodass Firefox der Spezifikation folgt (sowie den Implementierungen anderer Browser). Weitere Informationen finden Sie in (Firefox-Bug 1339394 für weitere Informationen.
  • Die proprietäre Pseudo-Klasse :-moz-table-border-nonzero steht Web-Inhalten nicht mehr zur Verfügung; sie ist jetzt auf das interne UA-Stylesheet von Firefox beschränkt (Firefox-Bug 1341925).
  • [css-grid] Intrinsischer Inhalt mit overflow:auto überlappt im Grid (Firefox-Bug 1348857).
  • [css-grid] Übertragene Mindestgrößenbeitrag von Prozentgrößen-Rasterelement mit einem intrinsischen Verhältnis (Firefox-Bug 1349320).

JavaScript

DOM & HTML DOM

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() bei Service-Workern verfügbar ist, da es dort nicht verwendet werden soll und immer eine Ausnahme auslöst, wenn es aufgerufen wird (siehe Firefox-Bug 1336043).

  • Die Eigenschaft Window.origin und der WorkerGlobalScope.origin wurde implementiert (siehe Firefox-Bug 1306170).

  • Die Eigenschaft Client.type wurde implementiert (siehe Firefox-Bug 1339844).

  • Clients.matchAll() gibt jetzt Client-Objekte in der Reihenfolge des zuletzt fokussierten zurück (siehe Firefox-Bug 1266747).

  • Einige Änderungen wurden am beobachteten Verhalten vorgenommen, wenn der Request()-Konstruktor ein bestehendes Request-Objektinstanz übergeben bekommt, um eine neue Instanz zu erstellen. Die folgenden neuen Verhaltensweisen sind darauf ausgelegt, die Sicherheit zu wahren, während der Konstruktor weniger wahrscheinlich Ausnahmen auslöst:

    • Wenn dieses Objekt in einem anderen Ursprung zum Konstruktoraufruf existiert, wird der Request.referrer entfernt.
    • Wenn dieses Objekt einen Request.mode von navigate hat, wird der Wert mode in same-origin umgewandelt.

Audio/Video

Allgemein

Media Capture and Streams API

Web Audio API

Encrypted MediaExtensions API

  • Der String MediaKeySession.keySystem wurde aus der Spezifikation entfernt und wir haben ihn aus Firefox 54 entfernt (Firefox-Bug 1335555).
  • Unterstützung wurde für den VP9-Codec in verschlüsselten Streams mit 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-codiertem webm/video-Material immer unterstützt, unabhängig von der Systemleistung.

WebRTC

  • TCP-ICE-Kandidatenunterstützung, ursprünglich in Firefox 41 eingeführt, ist jetzt standardmäßig aktiviert. Dadurch kann die ICE-Schicht Kandidaten in Betracht ziehen, die TCP anstelle des bevorzugten UDP 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 Web-Plattform

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

  • Die Unterstützung für HTTP/1-Pipelining wurde in Firefox 54 entfernt. Die Aufrechterhaltung dieser Funktionalität ist im Zuge des Übergangs in eine neue Welt voller HTTP/2 und anderer wesentlicher, standardisierter Verbesserungen der Netzwerkleistung nicht sinnvoll, angesichts der Kompatibilitäts- und Leistungsprobleme des Pipelining. Die network.http.pipelining-Einstellung (sowie die anderen Einstellungen, die mit "network.http.pipelining" beginnen) wird nun ignoriert. Weitere Informationen finden Sie in Firefox-Bug 1340655.

Ältere Versionen