Firefox 36 für Entwickler
Firefox 36 wurde am 24. Februar 2015 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Entwickler von Firefox und Gecko sowie für Add-on-Entwickler.
Änderungen für Webentwickler
Entwicklerwerkzeuge
Höhepunkte:
- Eval-Quellen erscheinen jetzt im Debugger
- Einfacherer Prozess für die Verbindung mit Firefox für Android
- Box-Modell-Highlighter funktioniert auf Remote-Zielen
- Option "Invert the call tree" im Profiler
- DOM-Promises in der Konsole inspizieren
- Zusätzliche "Einfügen"-Befehle im Inspektor
Alle zwischen Firefox 35 und Firefox 36 behobenen Devtools-Fehler.
CSS
- Die
will-change
-Eigenschaft wurde standardmäßig aktiviert (Firefox-Bug 961871). - Die
white-space
-Eigenschaft funktioniert jetzt bei<textarea>
HTML-Elementen (Firefox-Bug 82711). - Der
unicode-range
Descriptor wird jetzt von@font-face
unterstützt (Firefox-Bug 475891), ist aber standardmäßig nicht aktiviert. - Die Eigenschaften
text-decoration-color
,text-decoration-line
undtext-decoration-style
sind nun ohne Präfix (Firefox-Bug 825004). Die Versionen mit Präfix sind noch für einige Zeit verfügbar, um den Übergang zu erleichtern (Firefox-Bug 1097922). - Die
text-decoration
-Eigenschaft wird in eine Kurzform-Eigenschaft umgewandelt (Firefox-Bug 1039488). - Die Eigenschaften
object-fit
undobject-position
werden jetzt unterstützt (Firefox-Bug 624647). - Der
contents
-Wert derdisplay
-Eigenschaft wurde experimentell implementiert. Er ist standardmäßig deaktiviert (Firefox-Bug 907396). - Im Quirks-Modus wurde die
:active
und:hover
quiver quirk angepasst, sodass sie seltener angewandt wird: Sie wird nur noch auf Links angewandt, nur wenn keine Pseudo-Elemente oder anderen Pseudo-Klassen im Element vorhanden sind und das Element nicht Teil einer Pseudo-Klassen ist (Firefox-Bug 783213). - Die
isolation
-Eigenschaft wurde implementiert (Firefox-Bug 1077872). - CSS
<gradient>
wird nun auf den vorvermittelten Farben angewendet, was der Spezifikation und anderen Browsern entspricht und unerwartete graue Farben eliminiert (Firefox-Bug 591600). - Die Syntax für Interpolationshinweise wurde zu
<gradient>
hinzugefügt (Firefox-Bug 1074056). - Die
scroll-behavior
-Eigenschaft wurde implementiert (Firefox-Bug 1010538).
HTML
- Unterstützung für
<meta name="referrer">
wurde hinzugefügt (Firefox-Bug 704320). - In Firefox werden Filter, die im
accept
-Attribut von<input>
angegeben sind, standardmäßig ausgewählt, es sei denn, es gibt einen unbekannten Wert, also einen unbekannten Mime-Typ oder einen schlecht formatierten Wert imaccept
-Attribut. Bisher wurden standardmäßig nur Filter fürimage/*
,video/*
undaudio/*
Werte ausgewählt (Firefox-Bug 826185).
JavaScript
-
Der ECMAScript 2015 Symbol-Datentyp wurde standardmäßig aktiviert (war seit Version 33 im Nightly-Kanal verfügbar) (Firefox-Bug 1066322):
-
Der alte Platzhalter-String
"@@iterator"
wurde durch das reale ES2015 allgemein bekannte SymbolSymbol.iterator
für den iterable Interface-Eigenschaftsschlüssel ersetzt (Firefox-Bug 918828). -
Die spezinternen abstrakten Operationen
ToNumber(string)
unterstützen jetzt binäre (0b
) und oktale (0o
) Literale. Dies ist eine potenziell brechende Änderung von ES5 (Firefox-Bug 1079120).Number("0b11")
gibt jetzt3
zurück, nicht mehrNaN
."0o11" == 9
gibt jetzttrue
zurück, nicht mehrfalse
.
-
Die
const
-Deklaration ist jetzt Block-gebunden und erfordert einen Initialisierer (Firefox-Bug 611388). Sie kann jetzt auch nicht mehr neu deklariert werden (Firefox-Bug 1095439).{const a=1}; a;
wirft jetzt einenReferenceError
und gibt aufgrund der Block-Umfang nicht mehr1
zurück.const a;
wirft jetzt einenSyntaxError
("missing = in const declaration"): Ein Initialisierer ist erforderlich.const a = 1; a = 2;
wirft jetzt auch einenSyntaxError
("invalid assignment to const a").
-
Die ES2016-Methode
Array.prototype.includes
wurde implementiert, ist jedoch vorerst nur in Nightly-Builds aktiviert (Firefox-Bug 1069063). -
Der
delete
-Operator löst jetzt die "temporal dead zone" aus, wenn er mitlet
undconst
verwendet wird (Firefox-Bug 1074571). -
Die nicht standardisierten
let
-Blöcke undlet
-Ausdrücke sind veraltet und protokollieren jetzt eine Warnung in der Konsole. Verwenden Sie sie nicht mehr, sie werden in Zukunft entfernt. -
Der WeakMap-Konstruktor verarbeitet jetzt optionale Iterierbare Argumente (Firefox-Bug 1092537).
Schnittstellen/APIs/DOM
-
Die Methode
CanvasRenderingContext2D.resetTransform()
der Canvas-API wurde implementiert (Firefox-Bug 1099148). -
ECDSA wird nun in der Web Crypto API unterstützt (Firefox-Bug 1034854).
-
Unsere experimentelle Implementierung von WebGL 2.0 schreitet voran!
- Die Schnittstelle
WebGLQuery
ist verfügbar (Firefox-Bug 1048719). - Die Methode
WebGL2RenderingContext.invalidateFrameBuffer()
wurde implementiert (Firefox-Bug 1076456).
- Die Schnittstelle
-
Die Schnittstelle
MediaDevices
, die diePromise
-basierte Version vongetUserMedia()
enthält, wurde hinzugefügt. Sie ist überNavigator.mediaDevices
verfügbar (Firefox-Bug 1033885). -
Die EME-bezogene Methode
Navigator.requestMediaKeySystemAccess()
und das dazugehörigeMediaKeySystemAccess
werden jetzt unterstützt (Firefox-Bug 1095257). -
Das
keyschange
-Ereignis wird nun gesendet, wenn ein EME-bezogener CDM Schlüssel in einer Sitzung ändert (Firefox-Bug 1081755). -
Die Standardwerte der Optionen für
MutationObserver.observe()
wurden aktualisiert, um der neuesten Spezifikation zu entsprechen (Firefox-Bug 973638). -
Experimentelle Unterstützung für Virtual-Reality-Geräte wurde hinter der Einstellung
dom.vr.enabled
eingeführt, standardmäßig deaktiviert (Firefox-Bug 1036604). -
Die Funktion, die mit
RTCPeerConnection.onsignalingstatechange
assoziiert ist, erhält nun ein Ereignis als Parameter, wie in der Spezifikation vorgesehen (Firefox-Bug 1075133). -
Die experimentelle Implementierung von Web Animations macht Fortschritte: Die Methode
AnimationPlayer.play()
undAnimationPlayer.pause()
werden jetzt unterstützt (Firefox-Bug 1070745), ebenso wieAnimationPlayer.playState
(Firefox-Bug 1037321). -
Die nicht standardisierte
DOMRequest
-Schnittstelle hat jetzt eineDOMRequest.then()
-Methode (Firefox-Bug 839838). -
Die CSSOM Sichtrollverhaltenssteuerungsmethoden,
Element.scroll()
,Element.scrollTo()
,Element.scrollBy()
undElement.scrollIntoView()
wurden implementiert oder erweitert (Firefox-Bug 1045754 und Firefox-Bug 1087559). -
Die Zuweisung zu
Element.innerHTML
auf einemSVGElement
erzeugt nun Elemente im SVG-Namensraum (Firefox-Bug 886390). -
Die Methode
nsIWebBrowserPersist.saveURI()
benötigt jetzt 8 Argumente, in einer Reihenfolge, die mit vorherigen Veröffentlichungen inkompatibel ist. -
Unterstützung für Media Source Extensions (MSE) ist in Nicht-Build-Veröffentlichungen (nur Nightly und Developer Edition) standardmäßig aktiviert (Firefox-Bug 1000686). Auf der Beta- und Release-Version bleibt es deaktiviert.
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk
- Unterstützung für SPDY/3 wurde entfernt; Unterstützung für SPDY/3.1 ist weiterhin verfügbar (Firefox-Bug 1097944).
Sicherheit
- RC4 wird jetzt als unsicher betrachtet und alle UI-Indikatoren werden entsprechend reagieren; SSLv3 wurde standardmäßig in Firefox 34 deaktiviert, aber die UI wurde geändert, um dem Benutzer besser zu helfen, zu verstehen, was passiert (Firefox-Bug 1093595).
- Außerdem wird RC4 nicht mehr im ersten Handshake von TLS angeboten (Firefox-Bug 1088915).
- Die Direktive
form-action
von CSP 1.1 wird jetzt unterstützt (Firefox-Bug 529697). - In den Einstellungen von Firefox ist der Do not track Auswahl-Widget wieder ein Ein/Aus-Schalter (Firefox-Bug 1071747).
Änderungen für Add-on- und Mozilla-Entwickler
Add-on SDK
Highlights
-
Das Modul
sdk/test/httpd
wurde entfernt, verwenden Sie stattdessen das addon-httpd npm-Modul. -
Fügen Sie Badges zu den Schaltflächen in
sdk/ui
hinzu (Firefox-Bug 994280). -
Globale
require
-Funktion implementiert, um SDK-Module überall zuzugreifen (Firefox-Bug 1070927), mit:jsvar { require } = Cu.import( "resource://gre/modules/commonjs/toolkit/require.js", {}, );
Details
GitHub-Commits, die zwischen Firefox 35 und Firefox 36 gemacht wurden.
JavaScript-Code-Module
PromiseUtils.resolveOrTimeout
wurde implementiert (Firefox-Bug 1080466).PromiseUtils.defer
(ein Ersatz fürPromise.defer()
) wurde implementiert (Firefox-Bug 1093021).
Schnittstellen
nsIContentPolicy
Neue Konstanten wurden zu nsIContentPolicy
hinzugefügt, um Gecko-Interna und Add-on-Code zu ermöglichen, verschiedene Arten von Anfragen besser zu unterscheiden. Diese sind:
TYPE_FETCH
-
Zeigt eine Inhaltsladeanforderung an, die durch die Methode
fetch()
initiiert wurde. TYPE_IMAGESET
-
Zeigt eine Anforderung zum Laden eines
<img>
(mit demsrcset
Attribut oder<picture>
-Element).
XUL
Keine Änderung.
Sonstiges
- Die
-remote
Kommandozeilenoption von Firefox wurde entfernt (Firefox-Bug 1080319).
Ältere Versionen
- Firefox 35 für Entwickler
- Firefox 34 für Entwickler
- Firefox 33 für Entwickler
- Firefox 32 für Entwickler
- Firefox 31 für Entwickler
- Firefox 30 für Entwickler
- Firefox 29 für Entwickler
- Firefox 28 für Entwickler
- Firefox 27 für Entwickler
- Firefox 26 für Entwickler
- Firefox 25 für Entwickler
- Firefox 24 für Entwickler
- Firefox 23 für Entwickler
- Firefox 22 für Entwickler
- Firefox 21 für Entwickler
- Firefox 20 für Entwickler
- Firefox 19 für Entwickler
- Firefox 18 für Entwickler
- Firefox 17 für Entwickler
- Firefox 16 für Entwickler
- Firefox 15 für Entwickler
- Firefox 14 für Entwickler
- Firefox 13 für Entwickler
- Firefox 12 für Entwickler
- Firefox 11 für Entwickler
- Firefox 10 für Entwickler
- Firefox 9 für Entwickler
- Firefox 8 für Entwickler
- Firefox 7 für Entwickler
- Firefox 6 für Entwickler
- Firefox 5 für Entwickler