Versionshinweise für Entwickler zu Firefox 36
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 Add-on-Entwickler.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Höhepunkte:
- eval-Quellen erscheinen jetzt im Debugger
- Einfacherer Prozess zum Verbinden mit Firefox für Android
- Boxmodell-Hervorhebung funktioniert bei Remote-Zielen
- "Rufbaumliste 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-Bugs.
CSS
- Die Eigenschaft
will-changeist standardmäßig aktiviert (Firefox-Bug 961871). - Die Eigenschaft
white-spacefunktioniert jetzt auf<textarea>HTML-Elementen (Firefox-Bug 82711). - Der Deskriptor
unicode-rangewird jetzt von@font-faceunterstützt (Firefox-Bug 475891), ist jedoch nicht standardmäßig aktiviert. - Die Eigenschaften
text-decoration-color,text-decoration-lineundtext-decoration-stylesind nun ohne Präfix verfügbar (Firefox-Bug 825004). Die Versionen mit Präfix sind noch eine Weile verfügbar, um den Übergang zu erleichtern (Firefox-Bug 1097922). - Die Eigenschaft
text-decorationwird in eine Kurzschreibweise umgewandelt (Firefox-Bug 1039488). - Die Eigenschaften
object-fitundobject-positionwerden jetzt unterstützt (Firefox-Bug 624647). - Der
contentsWert derdisplayEigenschaft wurde experimentell implementiert. Er ist standardmäßig deaktiviert (Firefox-Bug 907396). - Im Quirks-Modus wurde der
:activeund:hoverQuiver-Quirk dahingehend geändert, dass er seltener angewendet wird: Er wird jetzt nur noch auf Links angewendet, wenn es keine Pseudoelemente oder andere Pseudoklassen im Element gibt und wenn es nicht Teil eines Pseudoklasselements ist (Firefox-Bug 783213). - Die Eigenschaft
isolationwurde implementiert (Firefox-Bug 1077872). - CSS
<gradient>wird jetzt auf die vorverarbeiteten Farben angewendet, was der Spezifikation und anderen Browsern entspricht und unerwartete graue Farben beseitigt (Firefox-Bug 591600). - Interpolationshinweis-Syntax wurde zu
<gradient>hinzugefügt (Firefox-Bug 1074056). - Die Eigenschaft
scroll-behaviorwurde implementiert (Firefox-Bug 1010538).
HTML
- Unterstützung für
<meta name="referrer">wurde hinzugefügt (Firefox-Bug 704320). - In Firefox werden von
<input>imacceptAttribut angegebene Filter standardmäßig ausgewählt, es sei denn, es gibt einen unbekannten Wert, der ein unbekannter Mime-Typ oder ein schlecht formatierter Wert imacceptAttribut ist. Zuvor wurden nur Filter fürimage/*,video/*undaudio/*Werte standardmäßig ausgewählt (Firefox-Bug 826185).
JavaScript
-
Der ECMAScript 2015 Symbol-Datentyp ist 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.iteratorfür den iterable Interface-Schlüssel ersetzt (Firefox-Bug 918828). -
Die spezifikationsinterne abstrakte Operation
ToNumber(string)unterstützt jetzt binäre (0b) und oktale (0o) Literale, dies ist möglicherweise eine Änderung, die mit ES5 nicht kompatibel ist (Firefox-Bug 1079120).Number("0b11")gibt jetzt3zurück, nichtNaN."0o11" == 9gibt jetzttruezurück, nichtfalse.
-
Die
constDeklaration ist jetzt blockweise 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 einenReferenceErroraus und gibt nicht mehr1zurück aufgrund der Blockbereichseinschränkung.const a;löst jetzt einenSyntaxErroraus ("missing = in const declaration"): Ein Initialisierer ist erforderlich.const a = 1; a = 2;löst jetzt auch einenSyntaxErroraus ("invalid assignment to const a").
-
Die ES2016-Methode
Array.prototype.includeswurde implementiert, ist jedoch vorerst nur in Nightly-Builds aktiviert (Firefox-Bug 1069063). -
Der
deleteOperator löst jetzt die "temporal dead zone" aus, wenn er mitletundconstverwendet wird (Firefox-Bug 1074571). -
Die nicht standardmäßigen
letBlöcke undlet-Ausdrücke sind veraltet und werden jetzt eine Warnung in der Konsole protokollieren. Verwenden Sie sie nicht mehr, sie werden in Zukunft entfernt. -
Der WeakMap Konstruktor behandelt 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
WebGLQueryist verfügbar (Firefox-Bug 1048719). - Die Methode
WebGL2RenderingContext.invalidateFrameBuffer()wurde implementiert (Firefox-Bug 1076456).
- Die Schnittstelle
-
Die Schnittstelle
MediaDevices, die die aufPromisebasierende Version vongetUserMedia()enthält, wurde hinzugefügt. Sie ist verfügbar überNavigator.mediaDevices(Firefox-Bug 1033885). -
Die EME-bezogene Methode
Navigator.requestMediaKeySystemAccess()und das dazugehörigeMediaKeySystemAccesswerden jetzt unterstützt (Firefox-Bug 1095257). -
Das
keyschangeEreignis wird jetzt 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 eingeführt, hinter dem
dom.vr.enabledPref, das standardmäßig deaktiviert ist (Firefox-Bug 1036604). -
Die Funktion, die mit
RTCPeerConnection.onsignalingstatechangeverknüpft ist, erhält jetzt ein Ereignis als Parameter, gemäß der 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
DOMRequestSchnittstelle hat jetzt eineDOMRequest.then()Methode (Firefox-Bug 839838). -
Die CSSOM-View-Scrollverhalten-steuernde Methoden,
Element.scroll(),Element.scrollTo(),Element.scrollBy()undElement.scrollIntoView(), wurden implementiert oder erweitert (Firefox-Bug 1045754 und Firefox-Bug 1087559). -
Das Zuweisen zu
Element.innerHTMLauf einemSVGElementerstellt 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-Build-Versionen (nur Nightly und Developer Edition) aktiviert (Firefox-Bug 1000686). Sie bleibt im Beta- und Release-Version 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 gilt nun als unsicher und alle UI-Indikatoren werden entsprechend reagieren; SSLv3 wurde standardmäßig in Firefox 34 deaktiviert, aber die Benutzeroberfläche wurde geändert, um den Benutzern besser zu erklären, was passiert (Firefox-Bug 1093595).
- Auch wird RC4 nicht mehr beim ersten TLS-Handshake angeboten (Firefox-Bug 1088915).
- Die
form-actionDirektive von CSP 1.1 wird jetzt unterstützt (Firefox-Bug 529697). - In den Einstellungen von Firefox ist die Do not track Auswahl-Widge wieder ein Ein/Aus-Schalter (Firefox-Bug 1071747).
Änderungen für Add-on- und Mozilla-Entwickler
>Add-on SDK
Höhepunkte
-
Das
sdk/test/httpdModul wurde entfernt, verwenden Sie stattdessen das addon-httpd npm-Modul. -
Fügen Sie Badges zu
sdk/uiButtons hinzu (Firefox-Bug 994280). -
Implementierte globale
requireFunktion, um SDK-Module überall zuzugreifen (Firefox-Bug 1070927), mit:jsvar { require } = Cu.import( "resource://gre/modules/commonjs/toolkit/require.js", {}, );
Details
JavaScript-Code-Module
PromiseUtils.resolveOrTimeoutist 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 Differenzierung verschiedener Anfragearten zu ermöglichen. Diese sind:
TYPE_FETCH-
Weist eine Inhaltsanforderung an, die durch die Methode
fetch()initiiert wurde. TYPE_IMAGESET-
Weist eine Anforderung zum Laden eines
<img>(mit demsrcsetAttribut) oder eines<picture>Elements an.
XUL
Keine Änderung.
Sonstiges
- Die
-remoteKommandozeilenoption von Firefox wurde entfernt (Firefox-Bug 1080319).