Firefox 52 für Entwickler

Firefox 52 wurde am 7. März 2017 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler nützlich sind.

Änderungen für Webentwickler

Entwicklerwerkzeuge

HTML

CSS

Neue Funktionen

  • Hinzugefügt: die Pseudoklasse :focus-within (Firefox Bug 1176997).

  • Unterstützung für display:flex/grid und das Layout von Spaltensätzen innerhalb von <button>-Elementen hinzugefügt (Firefox Bug 984869).

  • Implementierte Interpolation zwischen numerischen Farbwerten und currentcolor (Firefox Bug 1299741).

  • Implementiertes Flexbox-Layout für justify-content: space-evenly und align-content: space-evenly (Firefox Bug 1235922).

  • Unterstützung von Subpixel-Antialiasing in CSS mask / clip-path hinzugefügt (Firefox Bug 1305259).

  • Implementierte CSS Text 3 Segment-Trennungsregeln (Firefox Bug 1081858).

  • Basisform-Clippen (wie über die clip-path-Eigenschaft angewendet) kann jetzt auf SVG-Inhalte angewendet werden (Firefox Bug 1246741).

  • Implementiertes Flexbox-Layout für align-self und justify-self (Firefox Bug 1221524).

  • Die touch-action-Eigenschaft ist jetzt standardmäßig auf allen Plattformen aktiviert. (Für die komplette Geschichte siehe Versandintention Mail #1 und Versandintention Mail #2.)

  • Flexbox align-content-Verarbeitung & Single-Line-Sizing sollten von flex-wrap, nicht von der Anzahl der Linien abhängen (Firefox Bug 1090031).

  • CSS-Animationen können jetzt verwendet werden, um nicht interpolierte Eigenschaften zu animieren (siehe Firefox Bug 1064937).

  • Änderung baseline|last-baseline zu [ first | last ]? baseline (Firefox Bug 1313254).

  • Der verwendete Wert für left/right ist start für die Block-Achse (Firefox Bug 1221565).

  • Die Dehnung flexibler Spuren mit einer unbestimmten Länge des umschließenden Blocks respektiert jetzt die Min-/Max-Größe (Firefox Bug 1309407).

  • Die Anfangswerte von mask-position und mask-repeat wurden geändert auf 0% 0% bzw. repeat (Firefox Bug 1308963).

  • Es gab eine Reihe von Änderungen an CSS-<color>-Werten (siehe Firefox Bug 1295456):

    • rgba() und hsla() wurden jetzt als Aliase von rgb() und hsl() neu definiert; beide akzeptieren die gleiche Parametersyntax.
    • rgb() und hsl() akzeptieren jetzt einen optionalen Alpha-Wert, z.B. rgb(255, 0, 0, 0.5).
    • Farb-Funktionen akzeptieren jetzt durch Leerzeichen getrennte Parameter anstelle von Kommata, z.B. rgb(255 0 0 / 0.5).
    • Alphawerte können jetzt sowohl als Prozentsätze als auch als Zahlen angegeben werden, z.B. rgb(255 0 0 / 50%).
    • Die Farbkomponente in hsl()-Farben kann jetzt als Winkel sowie als Zahl angegeben werden, z.B. hsl(120deg, 60%, 70%).
  • Die Implementierung der CSS-Pseudo-Klassen für Kinder-Index (wie :nth-child, :first-child usw.) in Firefox wurde aktualisiert, um der CSS-Selektoren-Level-4-Spezifikation zu entsprechen: Diese Pseudoklassen stimmen jetzt mit den entsprechenden Geschwisterelementen überein anstatt mit den Kindern ihres übergeordneten Elements. Dies ermöglicht die Verwendung dieser Pseudoklassen, wenn kein übergeordnetes Element vorhanden ist, oder das übergeordnete Element kein Element ist (Firefox Bug 1300374).

CSS Grids

Änderungen und Entfernungen

  • Nicht-präfixierte Multi-Spalten-Eigenschaften (und fügten vorerst -moz-präfixierte Versionen als Aliase wieder hinzu) (Firefox Bug 1300895).
  • Das Wrappen von absolut positionierten Kindern eines Flex-Containers in anonyme Flex-Elemente wurde gestoppt (Firefox Bug 1269045).
  • Implementierte Rastercontainer-Basislinien (Firefox Bug 1151204).
  • <flex>-Minimierung aus dem Stilsystem entfernt (Firefox Bug 1305244).
  • Die Präferenz layout.css.masking.enabled wurde entfernt (Firefox Bug 1308239).
  • Die proprietären Medientypen -moz-images-in-menus und -moz-images-in-buttons wurden entfernt (siehe Firefox Bug 1302157).
  • Der -moz-use-text-color-Wert wurde aus den Farbeigenschaften entfernt; verwenden Sie stattdessen currentcolor (Firefox Bug 1306214).
  • [css-grid] 'max-width', das auf ein Rasterelement gesetzt ist, verursacht einen Textoverflow (Firefox Bug 1330380).

JavaScript

Neue Funktionen

Änderungen und Entfernungen

WebAssembly

  • Unterstützung für WebAssembly wurde zu Gecko hinzugefügt.

DOM

Änderungen und Entfernungen

  • Die Firefox OS APIs, die mit der Verwaltung von Telefonanrufen (Kontakte, MobileConnection, Icc, etc.) zu tun haben, wurden entfernt (Firefox Bug 1311206).
  • Die Firefox OS Identity-Schnittstelle wurde entfernt (Firefox Bug 1309030).
  • Die Firefox OS Voicemail API (MozVoicemail, MozVoicemailEvent, MozVoicemailStatus, Navigator.mozVoicemail) wurde entfernt (Firefox Bug 1309723).
  • Die Firefox OS Cell Broadcast API (MozCellBroadcast, MozCellBroadcastEvent, MozCellBroadcastMessage, Navigator.mozCellBroadcast) wurde entfernt (Firefox Bug 1306772).
  • Die Firefox OS TV-Broadcast-bezogenen APIs wurden entfernt (Firefox Bug 1306778).
  • Die Firefox OS FM Radio API (FMRadio, Navigator.mozFMRadio) wurde entfernt (Firefox Bug 1306779).

Service Workers und Fetch

  • Die Methode Headers.getAll() wurde entfernt, und Headers.get() ruft jetzt alle Werte des spezifizierten Headers ab, nicht nur den ersten (siehe Firefox Bug 1278275). Dies ist in Übereinstimmung mit den neuesten Fetch API-Spezifikationsänderungen.

Web Audio API

WebRTC

  • Wenn eine ICE-Verbindung vorübergehend unterbrochen wird, wird die Eigenschaft RTCPeerConnection.iceConnectionState jetzt auf "disconnected" gesetzt; dies weist auf ein vorübergehendes Problem hin, das sich möglicherweise kurzzeitig selbst behebt, wobei die Verbindung später wieder in den "connected"-Zustand zurückkehrt (Firefox Bug 852665).
  • Das MediaDevices-Ereignis devicechange und sein entsprechender Handler, der in Firefox 51 unter Mac implementiert, aber standardmäßig deaktiviert war, wurde auf Windows und Linux implementiert und ist jetzt standardmäßig auf allen Plattformen aktiviert.
  • Die Eigenschaft MediaStream.active wird jetzt unterstützt. Diese schreibgeschützte boolesche Eigenschaft gibt an, ob mindestens ein Track im Stream derzeit abgespielt wird.
  • Vor Firefox 52 konnte die Methode MediaStreamTrack.stop() nur lokale Tracks (d.h. Tracks, die durch getUserMedia() abgerufen wurden) stoppen. Jetzt können verschiedene Arten von Tracks gestoppt werden, einschließlich derjenigen auf einem MediaStream, das mit einer WebRTC-Verbindung assoziiert ist, einem Web Audio API-Stream, oder einem CanvasCaptureMediaStream.
  • Früher führte das mehrfache Ändern des mode eines TextTrack während eines einzigen Durchlaufs durch die Firefox-Ereignisdurchlauf zu mehreren change-Ereignissen, die an die TextTrackList gesendet wurden, die durch die textTracks-Eigenschaft des übergeordneten Medienelements spezifiziert wurde. Jetzt werden diese Änderungen zu einem Ereignis konsolidiert (Firefox Bug 882674).

Audio/Video/Media

  • Die in HTMLMediaElement.error angegebenen MediaError-Objekte, wenn ein Fehler bei der Verarbeitung eines <audio> oder <video>-Elements auftritt, enthalten jetzt eine message-Eigenschaft, die eine spezifische Beschreibung des aufgetretenen Fehlers bietet. Dieser String bietet Details, die speziell für diesen genauen Fehlerfall sind und Einsicht darüber geben, warum etwas schief gelaufen ist (Firefox Bug 1299072). Dieses Feld ist seit Firefox 51 in Nightly-Builds enthalten, aber es ist jetzt in allen Builds verfügbar, bis hin zur Freigabe.

Andere APIs

HTTP

SVG

  • SVG-Dokumente werden jetzt unter Verwendung der XMLDocument-Schnittstelle anstelle von SVGDocument dargestellt. Dies ist eine Änderung, die in der SVG 2-Spezifikation vorgenommen wurde.

Sicherheit

  • Wenn Anmeldeseiten (d.h. solche, die ein <input type="password">-Feld enthalten) so erstellt werden, dass sie unsicher übermittelt würden, zeigt Firefox eine kontextbezogene Warnmeldung unterhalb des Passwortfeldes an, um Benutzer zu warnen (Firefox Bug 1319119). Autofill ist auch auf unsicheren Anmeldeformularen deaktiviert (Firefox Bug 1217152). Siehe Unsichere Passwörter für weitere Details.
  • Unterstützung für SHA-1 SSL-Zertifikate wurde entfernt; der Versuch auf eine sichere Seite zu navigieren, die ein SHA-1-Zertifikat verwendet, führt jetzt zu einem Untrusted Connection-Fehler (Firefox Bug 1330043).

Plugins

Alle NPAPI-Plugin-Unterstützungen außer für Flash wurden eingestellt. Auch die Nutzung von Flash soll in Zukunft schrittweise eingestellt werden.

Änderungen für Add-on- und Mozilla-Entwickler

WebExtensions

Neue APIs:

Schnittstellen

  • Die Methode nsIDroppedLinkHandler.dropLinks und die Schnittstelle nsIDroppedLinkItem wurden zum Handling von mehreren Drucken hinzugefügt (Firefox Bug 92737).

XUL

  • Die Methode tabbrowser.loadTabs(uris, params) Überladung wurde hinzugefügt (Firefox Bug 92737).
  • Die Signatur der Funktion browser.droppedLinkHandler wurde geändert (Firefox Bug 92737).

Ältere Versionen