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, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
Entwicklerwerkzeuge
Hervorhebungen:
- eval-Quelltexte erscheinen jetzt im Debugger
- Einfacherer Prozess zur Verbindung mit Firefox für Android
- Box-Modell-Hervorhebung funktioniert auf Remote-Zielen
- Option "Aufrufbaum umkehren" im Profiler
- Inspektion von DOM-Promises in der Konsole
- Zusätzliche "Einfügen"-Befehle im Inspektor
Alle DevTools-Fehlerbehebungen zwischen Firefox 35 und Firefox 36.
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
-Deskriptor wird jetzt von@font-face
unterstützt (Firefox-Bug 475891), ist jedoch nicht standardmäßig aktiviert. - Die Eigenschaften
text-decoration-color
,text-decoration-line
undtext-decoration-style
sind jetzt ohne Präfix (Firefox-Bug 825004). Die Versionen mit Präfix sind noch verfügbar, um den Übergang zu erleichtern (Firefox-Bug 1097922). - Die
text-decoration
-Eigenschaft wurde in eine Kurzschreibweise 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 und ist standardmäßig nicht aktiviert (Firefox-Bug 907396). - Im Quirks-Modus wurde der
:active
und:hover
Quirks-Modus seltener angewendet: Er wird jetzt nur noch auf Links angewendet, es sei denn, es gibt kein Pseudo-Element oder andere Pseudo-Klasse im Element und es ist kein Teil eines Pseudo-Klassenelements (Firefox-Bug 783213). - Die
isolation
-Eigenschaft wurde implementiert (Firefox-Bug 1077872). - CSS
<gradient>
wird jetzt auf die premultiplizierten Farben angewendet, was der Spezifikation und anderen Browsern entspricht und das Auftreten unerwarteter grauer Farben vermeidet (Firefox-Bug 591600). - 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 des<input>
-Elements angegeben sind, nun standardmäßig ausgewählt, es sei denn, es gibt einen unbekannten Wert, d.h. einen unbekannten MIME-Typ oder einen schlecht formatierten Wert imaccept
-Attribut. Zuvor wurden Filter nur für die Werteimage/*
,video/*
undaudio/*
standardmäßig ausgewählt (Firefox-Bug 826185).
JavaScript
-
Der ECMAScript 2015 Symbol-Datentyp wurde standardmäßig aktiviert (war seit Version 33 in der Nightly-Kanal verfügbar) (Firefox-Bug 1066322):
-
Der alte Platzhalter-String
"@@iterator"
wurde durch das richtige ES2015 wohlbekannte SymbolSymbol.iterator
für den iterablen Schnittstellen-Eigenschaftsschlüssel ersetzt (Firefox-Bug 918828). -
Die intern spezifizierte abstrakte Operation
ToNumber(string)
unterstützt jetzt Binär- (0b
) und Oktal- (0o
) Literale, was eine potenziell breaking Änderung von ES5 darstellt (Firefox-Bug 1079120).Number("0b11")
gibt jetzt3
zurück, nicht mehrNaN
."0o11" == 9
gibt jetzttrue
zurück, nicht mehrfalse
.
-
Die
const
-Deklaration ist jetzt blockscoped und erfordert einen Initialisierer (Firefox-Bug 611388). Sie kann auch nicht mehr neu deklariert werden (Firefox-Bug 1095439).{const a=1}; a;
löst nun eineReferenceError
aus und gibt nicht mehr1
zurück aufgrund von Blockscoping.const a;
löst jetzt eineSyntaxError
("missing = in const declaration") aus: Ein Initialisierer ist erforderlich.const a = 1; a = 2;
löst jetzt auch eineSyntaxError
("invalid assignment to const a") aus.
-
Die ES2016-Methode
Array.prototype.includes
wurde implementiert, ist aber derzeit 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 und let-Ausdrücke sind veraltet und es wird jetzt eine Warnung in der Konsole ausgegeben. Verwenden Sie sie nicht mehr, sie werden in Zukunft entfernt.
-
Der WeakMap-Konstruktor verarbeitet jetzt ein optionales iterierbares Argument (Firefox-Bug 1092537).
Schnittstellen/APIs/DOM
-
Die
CanvasRenderingContext2D.resetTransform()
-Methode der Canvas-API wurde implementiert (Firefox-Bug 1099148). -
ECDSA wird jetzt in der Web Crypto API unterstützt (Firefox-Bug 1034854).
-
Unsere experimentelle Implementierung von WebGL 2.0 macht Fortschritte!
- Die
WebGLQuery
-Schnittstelle ist verfügbar (Firefox-Bug 1048719). - Die
WebGL2RenderingContext.invalidateFrameBuffer()
-Methode wurde implementiert (Firefox-Bug 1076456).
- Die
-
Die
MediaDevices
-Schnittstelle, die die aufPromise
basierende Version vongetUserMedia()
enthält, wurde hinzugefügt. Sie ist überNavigator.mediaDevices
verfügbar (Firefox-Bug 1033885). -
Die EME-bezogene Methode
Navigator.requestMediaKeySystemAccess()
und das zugehörigeMediaKeySystemAccess
werden jetzt unterstützt (Firefox-Bug 1095257). -
Das
keyschange
-Ereignis wird nun gesendet, wenn ein EME-bezogenes CDM in einer Sitzung Schlüssel ä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
dom.vr.enabled
-Einstellung eingeführt, die standardmäßig deaktiviert ist (Firefox-Bug 1036604). -
Die Funktion, die mit
RTCPeerConnection.onsignalingstatechange
verbunden ist, erhält jetzt gemäß Spezifikation ein Ereignis als Parameter (Firefox-Bug 1075133). -
Die experimentelle Implementierung der Web-Animationen 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 verfügt jetzt über eineDOMRequest.then()
-Methode (Firefox-Bug 839838). -
Die CSSOM-View-Scroll-Verhalten-steuernden Methoden,
Element.scroll()
,Element.scrollTo()
,Element.scrollBy()
, undElement.scrollIntoView()
, wurden implementiert oder erweitert (Firefox-Bug 1045754 und Firefox-Bug 1087559). -
Die Zuordnung zu
Element.innerHTML
auf einemSVGElement
erstellt jetzt Elemente im SVG-Namespace (Firefox-Bug 886390). -
Die Methode
nsIWebBrowserPersist.saveURI()
erfordert jetzt 8 Argumente, in einer Reihenfolge, die mit früheren Versionen unverträglich ist. -
Die Unterstützung für Media Source Extensions (MSE) ist jetzt standardmäßig in nicht-Build-Versionen (nur Nightly und Developer Edition) aktiviert (Firefox-Bug 1000686). Sie bleibt in Beta- und Release-Versionen deaktiviert.
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk
- Die 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 angesehen, und alle UI-Anzeigen reagieren entsprechend; SSLv3 wurde in Firefox 34 standardmäßig deaktiviert, aber das UI wurde geändert, um den Benutzer besser verstehen zu lassen, was passiert (Firefox-Bug 1093595).
- Außerdem wird RC4 nicht mehr im initialen TLS-Handshake angeboten (Firefox-Bug 1088915).
- Die
form-action
-Direktive von CSP 1.1 wird jetzt unterstützt (Firefox-Bug 529697). - In den Einstellungen von Firefox ist das Nicht-Verfolgen-Auswahl-Widget wieder ein An/Aus-Schalter (Firefox-Bug 1071747).
Änderungen für Add-on- und Mozilla-Entwickler
Add-on-SDK
Höhepunkte
-
Das Modul
sdk/test/httpd
wurde entfernt, verwenden Sie stattdessen das addon-httpd npm-Modul. -
Abzeichen zu
sdk/ui
-Schaltflächen hinzugefügt (Firefox-Bug 994280). -
Eine globale
require
-Funktion implementiert, um auf SDK-Module überall zuzugreifen (Firefox-Bug 1070927), indem:jsvar { require } = Cu.import( "resource://gre/modules/commonjs/toolkit/require.js", {}, );
Details
JavaScript-Code-Module
PromiseUtils.resolveOrTimeout
ist implementiert (Firefox-Bug 1080466).PromiseUtils.defer
(ein Ersatz fürPromise.defer()
) ist implementiert (Firefox-Bug 1093021).
Schnittstellen
nsIContentPolicy
Neue Konstanten wurden zu nsIContentPolicy
hinzugefügt, um Gecko-Interna und Add-on-Code besser unterschiedliche Arten von Anfragen unterscheiden zu lassen. Diese sind:
TYPE_FETCH
-
Zeigt eine Inhaltsanforderung an, die durch die
fetch()
-Methode initiiert wird. TYPE_IMAGESET
-
Zeigt eine Anfrage zum Laden eines
<img>
(mit demsrcset
-Attribut oder<picture>
-Element) an.
XUL
Keine Änderung.
Sonstiges
- Die
-remote
Befehlszeilenoption 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