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 nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.

Änderungen für Webentwickler

Entwicklertools

HTML

CSS

Neue Funktionen

  • Die Pseudo-Klasse :focus-within wurde hinzugefügt (Firefox-Bug 1176997).

  • Unterstützung für display:flex/grid und Spaltenlayout innerhalb von <button>-Elementen wurde hinzugefügt (Firefox-Bug 984869).

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

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

  • Unterstützung für Subpixel-Kantenglättung in CSS-mask / clip-path wurde hinzugefügt (Firefox-Bug 1305259).

  • CSS Text 3 Segment-Break-Transformationsregeln wurden implementiert (Firefox-Bug 1081858).

  • Grundform-Clipping (wie über die clip-path-Eigenschaft angewendet) kann nun auf SVG-Inhalte angewendet werden (Firefox-Bug 1246741).

  • Implementiertes Flexbox-Layout für align-self|justify-self: [ first | last ]? baseline (Firefox-Bug 1221524).

  • Die touch-action-Eigenschaft ist jetzt standardmäßig auf allen Plattformen aktiviert. (Für die vollständige Geschichte siehe intent to ship mail #1 und intent to ship mail #2.)

  • Flexbox align-content-Handhabung & Einzel-Zeilen-Größen sollten von flex-wrap abhängen, nicht von der Anzahl der Zeilen (Firefox-Bug 1090031).

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

  • Geändert 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).

  • Flexiblen Spuren mit unbegrenzter enthaltender Blocklänge nun die minimale/maximale Größe (Firefox-Bug 1309407) respektieren.

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

  • Es gab einige Ä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 Alphawert, z.B. rgb(255, 0, 0, 0.5).
    • Farbwerte akzeptieren jetzt leerzeichengetrennte Parameter anstelle von Kommas, z.B. rgb(255 0 0 / 0.5).
    • Alphawerte können jetzt als Prozentangaben sowie Zahlen angegeben werden, z.B. rgb(255 0 0 / 50%).
    • Die Farbkomponente in hsl()-Farbwerten kann jetzt als Winkel sowie als Zahl angegeben werden, z.B. hsl(120deg, 60%, 70%).
  • Firefoxs Implementierung von pseudo-elementiertem kindindexierten Selektoren (wie :nth-child, :first-child usw.) wurde aktualisiert, um der CSS-Selektoren-Level-4-Spezifikation zu entsprechen: diese Pseudo-Klassen passen jetzt zu den entsprechenden Geschwistern anstatt zu den Kindern des Elternelements. Dies ermöglicht die Verwendung dieser Pseudo-Klassen, wenn kein Elternelement vorhanden ist oder das Elternelement kein Element ist (Firefox-Bug 1300374.

CSS-Grids

Änderungen und Entfernungen

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 sich mit dem Verwalten von Telefonanrufen befassen (Contacts, MobileConnection, Icc usw.) wurden entfernt (Firefox-Bug 1311206).
  • Die Firefox-OS Identity-Schnittstelle wurde entfernt (Firefox-Bug 1309030).
  • Die Firefox-OS-Mailbox-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 TV-Übertragungs-bezogenen APIs in Firefox OS wurden entfernt (Firefox-Bug 1306778).
  • Die Firefox OS FM-Radio-API (FMRadio, Navigator.mozFMRadio) wurde entfernt (Firefox-Bug 1306779).

Service Worker und Fetch

  • Die Methode Headers.getAll() wurde entfernt, und Headers.get() ruft nun alle Werte des angegebenen Headers ab, nicht nur den ersten (siehe Firefox-Bug 1278275). Dies entspricht den neuesten Fetch-API-Spezifikations-Updates.

Web Audio API

  • Die Schnittstelle ConstantSourceNode wurde hinzugefügt; sie stellt eine Audioquelle dar, die immer einen Strom von Samples ausgibt, die alle denselben Wert haben. Sehen Sie unter Steuern mehrerer Parameter mit ConstantSourceNode nach einem Beispiel, das zeigt, wie dies verwendet werden kann, um einige komplexe Audioflüsse zu vereinfachen.

WebRTC

  • Bei einer vorübergehenden Unterbrechung einer ICE-Verbindung wird jetzt die Eigenschaft RTCPeerConnection.iceConnectionState auf "disconnected" gesetzt; dies zeigt einen vorübergehenden Fehler an, der sich möglicherweise selbst behebt und die Verbindung anschließend in den "connected"-Zustand zurückkehrt (Firefox-Bug 852665).
  • Das MediaDevices-Ereignis devicechange und der entsprechende Handler, die in Firefox 51 nur auf dem Mac implementiert, aber standardmäßig deaktiviert waren, wurden nun unter Windows und Linux implementiert und sind jetzt auf allen Plattformen standardmäßig aktiviert.
  • Die Eigenschaft MediaStream.active wird nun unterstützt. Dieser read-only Boolean-Wert gibt an, ob mindestens ein Track im Stream derzeit abgespielt wird.
  • Vor Firefox 52 konnte die Methode MediaStreamTrack.stop() nur lokale Tracks stoppen (d. h. Tracks, die über getUserMedia() erhalten wurden). Jetzt können verschiedene Tracks gestoppt werden, einschließlich derjenigen auf einem MediaStream, der mit einer WebRTC-Verbindung, einem Web Audio API-Stream oder einem CanvasCaptureMediaStream verbunden ist.
  • Zuvor führte das wiederholte Ändern eines [TextTrack]-mode-Werts während eines einzelnen Durchlaufs durch die Firefox-Ereignisschleife, dazu, dass mehrere change-Ereignisse an die vom übergeordneten Medienelement angegebene textTracks-Eigenschaft gesendet wurden. Jetzt werden diese Änderungen in einem Ereignis konsolidiert (Firefox-Bug 882674).

Audio/Video/Medien

  • Die [MediaError]-Objekte](/de/docs/Web/API/MediaError), die in HTMLMediaElement.error angegeben werden, wenn ein Fehler beim Verarbeiten eines <audio> oder <video>-Elements auftritt, enthalten jetzt eine message-Eigenschaft, die eine spezifische Beschreibung des aufgetretenen Fehlers liefert. Diese Zeichenkette bietet Einsichten für diesen genauen Fehler, warum etwas schiefgegangen ist (Firefox-Bug 1299072). Dieses Feld war in Nightly-Builds von Firefox seit Firefox 51 enthalten, ist jetzt jedoch in allen Builds, einschließlich der Veröffentlichung, verfügbar.

Andere APIs

HTTP

SVG

  • SVG-Dokumente werden jetzt mithilfe der XMLDocument-Schnittstelle anstelle von SVGDocument dargestellt. Dies ist eine Änderung in der SVG-2-Spezifikation.

Sicherheit

  • Wenn Anmeldeseiten (d.h. Seiten, die ein <input type="password">-Feld enthalten) so erstellt werden, dass sie unsicher gesendet werden, zeigt Firefox eine Kontext-Warnmeldung unterhalb des Passwortfeldes an, um die Nutzer zu warnen (Firefox-Bug 1319119). Die Autoausfüllung ist auch auf unsicheren Anmeldeformularen deaktiviert (Firefox-Bug 1217152). Siehe Unsichere Passwörter für weitere Details.
  • Die Unterstützung für SHA-1-SSL-Zertifikate wurde entfernt; das Navigieren zu einer sicheren Seite, die ein SHA-1-Zertifikat verwendet, führt jetzt zu einem Nicht vertrauenswürdige Verbindung-Fehler (Firefox-Bug 1330043).

Plugins

Die Unterstützung für alle NPAPI-Plugins außer Flash wurde eingestellt. Auch die Nutzung von Flash soll in Zukunft schrittweise eingestellt werden.

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

WebExtensions

Neue APIs:

Schnittstellen

  • Methode nsIDroppedLinkHandler.dropLinks und Schnittstelle nsIDroppedLinkItem wurden hinzugefügt, um das Ablegen mehrerer Elemente zu handhaben (Firefox-Bug 92737).

XUL

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

Ältere Versionen