Veröffentlichungsnotizen 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, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Highlights:
- eval-Quellen erscheinen jetzt im Debugger
- Einfacherer Prozess zur Verbindung mit Firefox für Android
- Boxmodell-Hervorhebung funktioniert bei entfernten Zielen
- "Invertieren Sie den Aufrufbaum"-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
will-changeEigenschaft wurde standardmäßig aktiviert (Firefox-Bug 961871). - Die
white-spaceEigenschaft funktioniert jetzt bei<textarea>HTML-Elementen (Firefox-Bug 82711). - Der
unicode-rangeDeskriptor wird jetzt von@font-faceunterstützt (Firefox-Bug 475891), ist aber standardmäßig nicht aktiviert. - Die Eigenschaften
text-decoration-color,text-decoration-line, undtext-decoration-stylesind 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
text-decorationEigenschaft wurde zur Kurzschreibweise geändert (Firefox-Bug 1039488). - Die Eigenschaften
object-fitundobject-positionwerden jetzt unterstützt (Firefox-Bug 624647). - Der
contentsWert derdisplayEigenschaft wurde experimentell implementiert, ist aber standardmäßig deaktiviert (Firefox-Bug 907396). - Im Quirks-Modus wurde das
:activeund:hoverZittern-Quirk so geändert, dass es seltener angewendet wird: Es wird nun nur bei Links genutzt, 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
isolationEigenschaft wurde implementiert (Firefox-Bug 1077872). - CSS
<gradient>gilt jetzt für die vorvermultiplizierten Farben, übereinstimmend mit der Spezifikation und anderen Browsern, und beseitigt unerwartete graue Farben, die darin erscheinen (Firefox-Bug 591600). - Syntax für Interpolationshinweise wurde zu
<gradient>hinzugefügt (Firefox-Bug 1074056). - Die
scroll-behaviorEigenschaft 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 imacceptAttribut angegeben sind, standardmäßig immer ausgewählt, es sei denn, es gibt einen unbekannten Wert, das ist ein unbekannter MIME-Typ oder ein schlecht formatierter Wert imacceptAttribut. Früher wurden angegebene Filter standardmäßig nur fürimage/*,video/*undaudio/*Werte ausgewählt (Firefox-Bug 826185).
JavaScript
-
Der ECMAScript 2015 Symbol-Datentyp wurde standardmäßig aktiviert (war in der Nightly-Version seit Version 33 verfügbar) (Firefox-Bug 1066322):
-
Der alte Platzhalterstring
"@@iterator"wurde durch das echte ES2015 wohlbekannte SymbolSymbol.iteratorfür den iterierbaren Schnittstellen-Propertieschlüssel ersetzt (Firefox-Bug 918828). -
Die spezifikationsinterne abstrakte Operation
ToNumber(string)unterstützt jetzt binäre (0b) und oktale (0o) Literale, was eine möglicherweise nicht rückwärtskompatible Änderung von ES5 ist (Firefox-Bug 1079120).Number("0b11")gibt jetzt3zurück, nichtNaN."0o11" == 9gibt jetzttruezurück, nichtfalse.
-
Die
constDeklaration ist jetzt blockbereichsübergreifend und benötigt einen Initialisierer (Firefox-Bug 611388). Außerdem kann sie nicht mehr erneut deklariert werden (Firefox-Bug 1095439).{const a=1}; a;wirft jetzt einenReferenceErrorund gibt nicht mehr1zurück, aufgrund der Blockbereichsübergreifung.const a;wirft jetzt einenSyntaxError("fehlendes = in const Deklaration"): Ein Initialisierer ist erforderlich.const a = 1; a = 2;wirft jetzt ebenfalls einenSyntaxError("ungültige Zuweisung an const a").
-
Die ES2016 Methode
Array.prototype.includeswurde implementiert, ist aber vorerst nur in Nightly-Builds aktiviert (Firefox-Bug 1069063). -
Der
deleteOperator löst jetzt die "temporäre Sperrzone" aus, wenn er mitletundconstverwendet wird (Firefox-Bug 1074571). -
Die nicht standardmäßigen
letBlöcke undletAusdrücke sind veraltet und erzeugen jetzt eine Warnung in der Konsole. Verwenden Sie sie nicht mehr, sie werden in Zukunft entfernt. -
Der WeakMap Konstruktor behandelt jetzt 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
WebGLQuerySchnittstelle ist verfügbar (Firefox-Bug 1048719). - Die
WebGL2RenderingContext.invalidateFrameBuffer()Methode wurde implementiert (Firefox-Bug 1076456).
- Die
-
Die
MediaDevicesSchnittstelle, die diePromise-basierte Version vongetUserMedia()enthält, wurde hinzugefügt. Sie ist überNavigator.mediaDevicesverfügbar (Firefox-Bug 1033885). -
Die EME-bezogene
Navigator.requestMediaKeySystemAccess()Methode und das zugehörigeMediaKeySystemAccesswerden jetzt unterstützt (Firefox-Bug 1095257). -
Das
keyschangeEreignis wird jetzt gesendet, wenn eine EME-bezogene 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 virtuelle Realitätsgeräte wurde hinter der Voreinstellung
dom.vr.enabledhinzugefügt, die standardmäßig deaktiviert ist (Firefox-Bug 1036604). -
Die Funktion, die mit
RTCPeerConnection.onsignalingstatechangeverknüpft ist, erhält jetzt ein Ereignis als Parameter, wie in der Spezifikation vorgesehen (Firefox-Bug 1075133). -
Die experimentelle Implementierung von 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 standardmäßige
DOMRequestSchnittstelle hat jetzt eineDOMRequest.then()Methode (Firefox-Bug 839838). -
Die CSSOM View Scrolling-Verhaltenssteuerungsmethoden,
Element.scroll(),Element.scrollTo(),Element.scrollBy(), undElement.scrollIntoView(), wurden implementiert oder erweitert (Firefox-Bug 1045754 und Firefox-Bug 1087559). -
Die Zuordnung zu
Element.innerHTMLauf einemSVGElementerzeugt jetzt Elemente im SVG-Namespace (Firefox-Bug 886390). -
Die
nsIWebBrowserPersist.saveURI()Methode 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 (Nightly und Developer Edition) aktiviert (Firefox-Bug 1000686). Es bleibt in den Beta- und Release-Versionen standardmäßig 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 wird jetzt als unsicher angesehen und alle Benutzeroberflächenindikatoren reagieren darauf; SSLv3 wurde standardmäßig in Firefox 34 deaktiviert, aber die Benutzeroberfläche wurde geändert, um dem Benutzer besser zu erklären, was passiert (Firefox-Bug 1093595).
- Außerdem wird RC4 bei der ersten TLS-Verhandlung nicht mehr angeboten (Firefox-Bug 1088915).
- Die
form-actionDirektive 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 An/Aus-Schalter (Firefox-Bug 1071747).
Änderungen für Add-on- und Mozilla-Entwickler
>Add-on SDK
Highlights
-
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
require-Funktion, um SDK-Module überall zugänglich zu machen (Firefox-Bug 1070927), mit: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.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 Unterscheidung zwischen verschiedenen Arten von Anfragen zu ermöglichen. Diese sind:
TYPE_FETCH-
Zeigt eine Inhaltsladeanfrage an, die durch die
fetch()Methode initiiert wurde. TYPE_IMAGESET-
Zeigt eine Anfrage zum Laden eines
<img>(mit demsrcsetAttribut oder<picture>Element) an.
XUL
Keine Änderung.
Sonstiges
- Die
-remoteBefehlszeilenoption von Firefox wurde entfernt (Firefox-Bug 1080319).