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 für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
Entwickler-Tools
Höhepunkte:
- eval-Quellen erscheinen jetzt im Debugger
- Einfacherer Prozess zur Verbindung mit Firefox für Android
- Box-Modell-Highlighter arbeitet mit entfernten Zielen
- "Invert the call tree"-Option im Profiler
- DOM-Promises in der Konsole inspizieren
- Zusätzliche "Paste"-Befehle im Inspektor
Alle Fehler in den Entwickler-Tools, die zwischen Firefox 35 und Firefox 36 behoben wurden.
CSS
- Die Eigenschaft
will-change
ist standardmäßig aktiviert (Firefox-Bug 961871). - Die Eigenschaft
white-space
funktioniert jetzt bei HTML-Elementen vom Typ<textarea>
(Firefox-Bug 82711). - Der Deskriptor
unicode-range
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 eine Zeit lang verfügbar, um den Übergang zu erleichtern (Firefox-Bug 1097922). - Die Eigenschaft
text-decoration
wurde zu einer Kurzform der Eigenschaft umgewandelt (Firefox-Bug 1039488). - Die Eigenschaften
object-fit
undobject-position
werden jetzt unterstützt (Firefox-Bug 624647). - Der Wert
contents
der Eigenschaftdisplay
wurde experimentell implementiert. Er ist standardmäßig deaktiviert (Firefox-Bug 907396). - Im Quirks-Modus wurde das
:active
- und:hover
-Verhaltensunterscheidung geändert, um weniger häufig angewendet zu werden: Es wird jetzt nur noch auf Links angewendet, nur 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 vorkomponierten Farben angewendet, was der Spezifikation und anderen Browsern entspricht und unerwartete graue Farben beseitigt (Firefox-Bug 591600). - Die Interpolationshinweissyntax wurde zu
<gradient>
hinzugefügt (Firefox-Bug 1074056). - Die Eigenschaft
scroll-behavior
wurde implementiert (Firefox-Bug 1010538).
HTML
- Die Unterstützung für
<meta name="referrer">
wurde hinzugefügt (Firefox-Bug 704320). - In Firefox werden die im
accept
-Attribut angegebenen Filter 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. Bisher wurden nur Filter fürimage/*
,video/*
undaudio/*
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 bekannte SymbolSymbol.iterator
für den iterierbaren Schnittstellen-Eigenschaftsschlüssel ersetzt (Firefox-Bug 918828). -
Die spezinternen abstrakten Operationen
ToNumber(string)
unterstützen jetzt binäre (0b
) und oktale (0o
) Literale, was eine potenziell rückwärtsinkompatible Änderung zu 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 blockbereichseingeschrä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 aufgrund der Blockbereichseinschränkung nicht mehr1
zurück.const a;
löst jetzt einenSyntaxError
("missing = in const declaration") aus: Ein Initialisierer ist erforderlich.const a = 1; a = 2;
löst jetzt auch einenSyntaxError
("invalid assignment to const a") aus.
-
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 werden jetzt eine Warnung in der Konsole auslösen. Verwenden Sie sie nicht mehr, da sie in Zukunft entfernt werden. -
Der WeakMap-Konstruktor unterstützt jetzt ein optionales iterierbares 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 diePromise
-basierte Version vongetUserMedia()
enthält, wurde hinzugefügt. Sie ist überNavigator.mediaDevices
verfügbar (Firefox-Bug 1033885). -
Die EME-bezogene Methode
Navigator.requestMediaKeySystemAccess()
, sowie das damit verbundeneMediaKeySystemAccess
, wird jetzt unterstützt (Firefox-Bug 1095257). -
Das Ereignis
keyschange
wird jetzt ausgelöst, 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 eingeführt, über die
dom.vr.enabled
-Einstellung, 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), sowieAnimationPlayer.playState
(Firefox-Bug 1037321). -
Die nicht-standardmäßige
DOMRequest
-Schnittstelle verfügt jetzt über eine MethodeDOMRequest.then()
(Firefox-Bug 839838). -
Die CSSOM-View-Methoden zur Steuerung des Scroll-Verhaltens,
Element.scroll()
,Element.scrollTo()
,Element.scrollBy()
undElement.scrollIntoView()
, wurden implementiert oder erweitert (Firefox-Bug 1045754 und Firefox-Bug 1087559). -
Das Zuweisen von
Element.innerHTML
an einSVGElement
erstellt jetzt Elemente im SVG-Namensraum (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-kompilierten Versionen (nur Nightly und Developer Edition) aktiviert (Firefox-Bug 1000686). In der Beta- und Releaseversion bleibt sie standardmäßig 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 noch verfügbar (Firefox-Bug 1097944).
Sicherheit
- RC4 wird jetzt als unsicher betrachtet und alle UI-Indikatoren reagieren entsprechend; 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 in der anfänglichen TLS-Handschlag nicht mehr angeboten (Firefox-Bug 1088915).
- Die Richtlinie
form-action
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
Höhepunkte
-
Das Modul
sdk/test/httpd
wurde entfernt, verwenden Sie stattdessen das addon-httpd npm-Modul. -
Fügen Sie den
sdk/ui
Buttons Abzeichen hinzu (Firefox-Bug 994280). -
Implementierte globale
require
-Funktion, um überall auf SDK-Module zuzugreifen (Firefox-Bug 1070927), indem Sie verwenden: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
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 es Gecko-Interna und Add-on-Code zu ermöglichen, verschiedene Anfragetypen besser zu unterscheiden. Diese sind:
TYPE_FETCH
-
Zeigt eine Inhaltsladungsanforderung an, die durch die
fetch()
-Methode initiiert wurde. TYPE_IMAGESET
-
Zeigt eine Anforderung zum Laden eines
<img>
(mit demsrcset
-Attribut oder<picture>
-Element).
XUL
Keine Änderung.
Sonstiges
- Die Firefox
-remote
Kommandozeilenoption 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