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
Höhepunkte:
- Eval-Quellen erscheinen jetzt im Debugger
- Einfacherer Prozess zur Verbindung mit Firefox für Android
- Boxmodell-Highlighter funktioniert bei entfernten Zielen
- "Inversion des Anrufbaums"-Option im Profiler
- DOM-Promises in der Konsole inspizieren
- Zusätzliche "Einfügen"-Befehle im Inspektor
Alle Devtools-Bugs, die zwischen Firefox 35 und Firefox 36 behoben wurden.
CSS
- Die Eigenschaft
will-change
wurde standardmäßig aktiviert (Firefox-Bug 961871). - Die Eigenschaft
white-space
funktioniert jetzt auf HTML-Elementen vom Typ<textarea>
(Firefox-Bug 82711). - Der Deskriptor
unicode-range
wird nun von@font-face
unterstützt (Firefox-Bug 475891), ist aber nicht standardmäßig aktiviert. - Die Eigenschaften
text-decoration-color
,text-decoration-line
undtext-decoration-style
sind jetzt unbenannt (Firefox-Bug 825004). Die benannten Versionen sind noch eine Weile verfügbar, um den Übergang zu erleichtern (Firefox-Bug 1097922). - Die Eigenschaft
text-decoration
wurde zu einer Kurzschreibweise umgewandelt (Firefox-Bug 1039488). - Die Eigenschaften
object-fit
undobject-position
werden jetzt unterstützt (Firefox-Bug 624647) - Der
contents
-Wert der Eigenschaftdisplay
wurde experimentell implementiert. Er ist standardmäßig deaktiviert (Firefox-Bug 907396). - Im Quirks-Modus wurde das
:active
und:hover
Quiver Quirk geändert, sodass es seltener angewendet wird: Es wird jetzt nur auf Links angewendet, wenn es keine Pseudo-Elemente oder andere Pseudo-Klassen im Element gibt und wenn es nicht Teil eines Pseudo-Klassenelements ist (Firefox-Bug 783213). - Die Eigenschaft
isolation
wurde implementiert (Firefox-Bug 1077872). - CSS
<gradient>
wird jetzt auf die vorab multiplizierten Farben angewendet, was der Spezifikation und anderen Browsern entspricht und unerwartete graue Farben in ihnen beseitigt (Firefox-Bug 591600). - Die Interpolationshinweissyntax wurde zu
<gradient>
hinzugefügt (Firefox-Bug 1074056). - Die Eigenschaft
scroll-behavior
wurde implementiert (Firefox-Bug 1010538).
HTML
- Unterstützung für
<meta name="referrer">
wurde hinzugefügt (Firefox-Bug 704320). - In Firefox werden die in dem
accept
-Attribut angegebenen Filter standardmäßig ausgewählt, es sei denn, es gibt einen unbekannten Wert, das heißt einen unbekannten MIME-Typ oder schlecht formatierten Wert imaccept
-Attribut. Früher wurden standardmäßig nur die Filterimage/*
,video/*
undaudio/*
ausgewählt (Firefox-Bug 826185).
JavaScript
-
Der ECMAScript 2015 Symbol-Datentyp wurde standardmäßig aktiviert (war seit Version 33 im Nightly-Channel verfügbar) (Firefox-Bug 1066322):
-
Der alte Platzhalterstring
"@@iterator"
wurde durch das tatsächliche ES2015 wohlbekannte SymbolSymbol.iterator
für den iterable Schnittstellen-Propertykey ersetzt (Firefox-Bug 918828). -
Die spec-interne abstrakte Operation
ToNumber(string)
unterstützt jetzt binäre (0b
) und oktale (0o
) Literale, dies ist eine potenziell breaking Ä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-scope-beschränkt und erfordert einen Initialisierer (Firefox-Bug 611388). Sie kann auch nicht mehr neu deklariert werden (Firefox-Bug 1095439).{const a=1}; a;
löst jetzt einenReferenceError
aus und gibt nicht mehr1
zurück aufgrund der Block-Beschränkung.const a;
löst jetzt einenSyntaxError
aus ("missing = in const declaration"
): Ein Initialisierer ist erforderlich.const a = 1; a = 2;
löst jetzt auch einenSyntaxError
aus ("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" beim Verwenden mitlet
undconst
aus (Firefox-Bug 1074571). -
Die nicht standardmäßigen
let
-Blöcke undlet
-Ausdrücke sind veraltet und werden nun eine Warnung in der Konsole protokollieren. Verwenden Sie sie nicht mehr, sie werden in Zukunft entfernt. -
Der WeakMap-Konstruktor verarbeitet jetzt das optionale iterierbare Argument (Firefox-Bug 1092537).
Schnittstellen/APIs/DOM
-
Die Methode
CanvasRenderingContext2D.resetTransform()
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 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 die aufPromise
-basierte Version vongetUserMedia()
enthält, wurde hinzugefügt. Sie ist verfügbar überNavigator.mediaDevices
(Firefox-Bug 1033885). -
Die EME-bezogene Methode
Navigator.requestMediaKeySystemAccess()
, und die zugehörigeMediaKeySystemAccess
, wird jetzt unterstützt (Firefox-Bug 1095257). -
Das
keyschange
-Ereignis wird jetzt gesendet, wenn ein EME-bezogenes 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
dom.vr.enabled
-Einstellung hinzugefügt, standardmäßig deaktiviert (Firefox-Bug 1036604). -
Die Funktion, die mit
RTCPeerConnection.onsignalingstatechange
verbunden ist, erhält jetzt ein Ereignis als Parameter, gemäß Spezifikation (Firefox-Bug 1075133). -
Die experimentelle Implementierung von Web Animationen macht Fortschritte: Die Methoden
AnimationPlayer.play()
undAnimationPlayer.pause()
werden jetzt unterstützt (Firefox-Bug 1070745), ebenso wieAnimationPlayer.playState
(Firefox-Bug 1037321). -
Die nicht standardmäßige
DOMRequest
Schnittstelle hat jetzt die MethodeDOMRequest.then()
(Firefox-Bug 839838). -
Die Methoden zur Steuerung des Scrollverhaltens von CSSOM View,
Element.scroll()
,Element.scrollTo()
,Element.scrollBy()
undElement.scrollIntoView()
, wurden implementiert oder erweitert (Firefox-Bug 1045754 und Firefox-Bug 1087559). -
Die Zuweisung von
Element.innerHTML
auf einSVGElement
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 nicht kompatibel ist. -
Unterstützung für Media Source Extensions (MSE) ist standardmäßig in Nicht-Build-Versionen (nur Nightly und Developer Edition) aktiviert (Firefox-Bug 1000686). Es bleibt in den Beta- und Release-Versionen deaktiviert.
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerktechnik
- 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 nun als unsicher betrachtet und alle Schnittstellenanzeigen reagieren dementsprechend; SSLv3 wurde in Firefox 34 standardmäßig deaktiviert, aber die Benutzeroberfläche wurde geändert, um dem Benutzer besser verständlich zu machen, was passiert (Firefox-Bug 1093595).
- Außerdem wird RC4 im anfänglichen TLS-Handshake nicht mehr angeboten (Firefox-Bug 1088915).
- Die
form-action
-Richtlinie von CSP 1.1 wird jetzt unterstützt (Firefox-Bug 529697). - In den Einstellungen von Firefox ist das 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 Abzeichen zu
sdk/ui
-Schaltflächen hinzu (Firefox-Bug 994280). -
Implementierte globale
require
-Funktion, um SDK-Module überall zuzugreifen (Firefox-Bug 1070927), Verwendung:jsvar { require } = Cu.import( "resource://gre/modules/commonjs/toolkit/require.js", {}, );
Details
GitHub-Commits, die zwischen Firefox 35 und Firefox 36 erstellt wurden.
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-Internals und Add-on-Code eine bessere Unterscheidung zwischen verschiedenen Anforderungstypen zu ermöglichen. Diese sind:
TYPE_FETCH
-
Weist auf eine Inhaltsanfrage hin, die durch die
fetch()
-Methode initiiert wurde. TYPE_IMAGESET
-
Weist auf eine Anfrage zum Laden eines
<img>
(mit demsrcset
-Attribut oder<picture>
-Element.
XUL
Keine Änderung.
Sonstiges
- Die Firefox
-remote
Befehlszeilenoption wurde entfernt (Firefox-Bug 1080319).
Ältere Versionen
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers
- Firefox 6 for developers
- Firefox 5 for developers