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 Zusammenfassung von Netzwerk-Anfragen enthält jetzt die tatsächlich übertragene Datenmenge ("transferred size"), ebenso wie die Leistungsanalyseansicht (Firefox Bug 1168376).
  • Die Ansicht von Netzwerk-Anfrage-Headern enthält jetzt Links zur entsprechenden Dokumentation auf MDN (Firefox Bug 1320233).

CSS

  • clip-path unterstützt nun einfache Formen (Firefox Bug 1247229).
  • Firefox's Implementierungen von CSS Flexbox und CSS-Ausrichtung implementieren nun aktualisierte Sprachspezifikationen für 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 mit -moz-appearance: none; werden jetzt nicht mehr als ersetzte Elemente behandelt, um die Kompatibilität mit anderen Browsern zu gewährleisten (Firefox Bug 605985).
  • Früher hatte ein mit display: inline-block gestyltes Element mit einem Kind-Element des Typs HTMLInputElement, das mit display:block gestylt ist, eine falsche Baseline (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 zur Gestaltung von <option> Elementen vorübergehend entfernt. Ab Firefox 54 können Sie Vordergrund- und Hintergrundfarben wieder auf <option> Elemente anwenden, mithilfe der color und background-color Attribute. Siehe Firefox Bug 910022 für weitere Informationen. Beachten Sie, dass dies immer noch unter Linux deaktiviert ist aufgrund mangelnden Kontrasts (siehe Firefox Bug 1338283 für Fortschritte hierzu).
  • CSS-Animationen senden jetzt das animationcancel Ereignis wie erwartet, wenn eine Animation vorzeitig abgebrochen wird (Firefox Bug 1302648).
  • Transparente Farben (d.h. solche mit einem Alphakanal von 0) wurden in bestimmten Situationen in das transparent Farbstichwort 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 :-moz-table-border-nonzero Pseudo-Klasse ist nicht länger für Webinhalte verfügbar; sie ist jetzt auf Firefox's internem UA-Stylesheet beschränkt (Firefox Bug 1341925).
  • [css-grid] Intrinsischer Inhalt mit overflow:auto überlappt im Grid (Firefox Bug 1348857).
  • [css-grid] Übertragener Mindestgrößenbeitrag eines prozentual großen Gitterelements mit einem intrinsischen Verhältnis (Firefox Bug 1349320).

JavaScript

DOM & HTML DOM

Web-Worker und Service-Worker

  • 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 immer eine Ausnahme auslöst, wenn es aufgerufen wird (siehe Firefox Bug 1336043).

  • Die Eigenschaft Window.origin und die WorkerGlobalScope.origin wurden 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).

  • Es wurden einige Änderungen am beobachteten Verhalten vorgenommen, wenn dem Konstruktor Request() ein bestehendes Request Objekt-Exemplar übergeben wird, um ein neues Exemplar zu erstellen. Die folgenden neuen Verhaltensweisen sollen die Sicherheit bewahren, während der Konstruktor weniger wahrscheinlich Ausnahmen auslöst:

    • Wenn dieses Objekt auf einem anderen Ursprung zum Konstruktoraufruf existiert, wird 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 Media Extensions API

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

WebRTC

  • TCP ICE-Kandidatensupport, ursprünglich in Firefox 41 hinzugefügt, ist jetzt standardmäßig aktiviert. Dies ermöglicht es der ICE-Ebene, Kandidaten zu berücksichtigen, 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 im Detail.

Entfernungen von der Webplattform

CSS

  • Die -moz präfixierten Versionen der isolate, isolate-override und plaintext Werte 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. Diese aufrechtzuerhalten, während wir in eine neue Welt voller HTTP/2 und anderer wesentlicher, standardisierter Verbesserungen der Netzwerkleistung übergehen, ist aufgrund der Kompatibilitäts- und Leistungsprobleme von Pipelining nicht lohnenswert. Die network.http.pipelining Voreinstellung (sowie die anderen Voreinstellungen, die mit "network.http.pipelining" beginnen) wird nun ignoriert. Siehe Firefox Bug 1340655 für weitere Informationen.

Ältere Versionen