Firefox 36 für Entwickler
Firefox 36 wurde am 24. Februar 2015 veröffentlicht. Dieser Artikel listet die wichtigsten Ä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
Höhepunkte:
- eval-Quellen erscheinen jetzt im Debugger
- Vereinfachter Prozess zum Verbinden mit Firefox für Android
- Box Model Highlighter funktioniert bei Remote-Zielen
- "Baumstruktur invertieren"-Option 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
Deskriptor 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 jetzt ohne Präfix (Firefox-Bug 825004). Die Versionen mit Präfix sind noch eine Weile 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. Er ist standardmäßig deaktiviert (Firefox-Bug 907396). - Im Quirks-Modus wurde das
:active
und:hover
-Quiver-Quirk geändert, um weniger häufig angewendet zu werden: Es wird jetzt nur noch bei Links verwendet, nur wenn es keine Pseudo-Elemente oder andere Pseudo-Klassen im Element gibt und wenn es nicht Teil eines Pseudo-Klasse-Elements ist (Firefox-Bug 783213). - Die
isolation
Eigenschaft wurde implementiert (Firefox-Bug 1077872). - CSS
<gradient>
wird nun auf die vorkalkulierten Farben angewendet, was der Spezifikation und anderen Browsern entspricht und unerwartete graue Farben in ihnen beseitigt (Firefox-Bug 591600). - Interpolationshinweis-Syntax 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
<input>
Filter, die imaccept
Attribut angegeben sind, immer standardmäßig ausgewählt, es sei denn, es gibt einen unbekannten Wert, also einen unbekannten MIME-Typ oder einen schlecht formatierten Wert imaccept
Attribut. Zuvor wurden nur fürimage/*
,video/*
undaudio/*
spezifizierte Filter standardmäßig 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 echte ES2015 wohlbekannte SymbolSymbol.iterator
für den iterable Schnittstelleneigenschaftsschlüssel ersetzt (Firefox-Bug 918828). -
Die spezinternen abstrakten Operationen
ToNumber(string)
unterstützen jetzt binäre (0b
) und oktale (0o
) Literale, was eine potenziell brechende Änderung von ES5 ist (Firefox-Bug 1079120).Number("0b11")
liefert jetzt3
, nichtNaN
."0o11" == 9
liefert jetzttrue
, nichtfalse
.
-
Die
const
Deklaration ist jetzt block-scope und erfordert einen Initialisierer (Firefox-Bug 611388). Sie kann auch nicht mehr neu deklariert werden (Firefox-Bug 1095439).{const a=1}; a;
wirft jetzt einenReferenceError
und liefert aufgrund der Block-Scope nicht mehr1
.const a;
wirft jetzt einenSyntaxError
("missing = in const declaration"): Ein Initialisierer ist erforderlich.const a = 1; a = 2;
wirft jetzt ebenfalls einenSyntaxError
("invalid assignment to const a").
-
Die ES2016 Methode
Array.prototype.includes
wurde implementiert, ist aber 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 standardmäßigen
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 das optionale Iterable-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 schreitet voran!
- Die
WebGLQuery
Schnittstelle ist verfügbar (Firefox-Bug 1048719). - Die
WebGL2RenderingContext.invalidateFrameBuffer()
Methode wurde implementiert (Firefox-Bug 1076456).
- Die
-
Die
MediaDevices
Schnittstelle, 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 die zugehörigeMediaKeySystemAccess
wird jetzt unterstützt (Firefox-Bug 1095257). -
Das
keyschange
Ereignis wird jetzt gesendet, wenn ein EME-bezogener CDM die 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
Präferenz aktiviert, standardmäßig deaktiviert (Firefox-Bug 1036604). -
Die Funktion, die mit
RTCPeerConnection.onsignalingstatechange
verbunden ist, erhält jetzt ein Ereignis als Parameter, gemäß der Spezifikation (Firefox-Bug 1075133). -
Die experimentelle Implementierung von Webanimationen 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 verfügt jetzt über eineDOMRequest.then()
Methode (Firefox-Bug 839838). -
Die Methoden, die das Scroll-Verhalten der CSSOM-Ansicht steuern,
Element.scroll()
,Element.scrollTo()
,Element.scrollBy()
undElement.scrollIntoView()
, wurden implementiert oder erweitert (Firefox-Bug 1045754 und Firefox-Bug 1087559). -
Das Zuweisen zu
Element.innerHTML
auf einemSVGElement
erstellt jetzt Elemente im SVG-Namespace (Firefox-Bug 886390). -
Die Methode
nsIWebBrowserPersist.saveURI()
erfordert nun 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). In der Beta- und Release-Version bleibt es deaktiviert.
MathML
Keine Änderungen.
SVG
Keine Änderungen.
Audio/Video
Keine Änderungen.
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 Benutzerschnittstellen-Indikatoren reagieren entsprechend; SSLv3 wurde standardmäßig in Firefox 34 deaktiviert, aber die Benutzeroberfläche wurde geändert, um dem Benutzer besser zu verstehen, was geschieht (Firefox-Bug 1093595).
- Außerdem wird RC4 nicht mehr beim anfänglichen TLS-Handschlag angeboten (Firefox-Bug 1088915).
- Die
form-action
Direktive der CSP 1.1 wird jetzt unterstützt (Firefox-Bug 529697). - In den Firefox-Einstellungen ist die Do-Not-Track Auswahl wieder ein Ein-/Ausschalter (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. -
Abzeichen zu
sdk/ui
Buttons hinzugefügt (Firefox-Bug 994280). -
Implementierte globale
require
Funktion zum Zugriff auf sdk-Module überall (Firefox-Bug 1070927), mit: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 eine bessere Unterscheidung verschiedener Anfragetypen zu ermöglichen. Diese sind:
TYPE_FETCH
-
Zeigt eine Inhaltsladeanforderung an, die durch die
fetch()
Methode initiiert wurde. TYPE_IMAGESET
-
Zeigt eine Anforderung zum Laden eines
<img>
(mit demsrcset
Attribut oder eines<picture>
Elements an.
XUL
Keine Änderungen.
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