Firefox 35 Versionshinweise für Entwickler
Firefox 35 wurde am 13. Januar 2015 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.
Änderungen für Webentwickler
>Entwickler-Tools
Höhepunkte:
- Anzeigen von ::before- und ::after-Pseudoelementen im Seiteninspektor
- CSS-Quellkarten sind jetzt standardmäßig aktiviert
- "DOM-Eigenschaften anzeigen" aus dem Seiteninspektor
Alle Devtools-Bugs, die zwischen Firefox 34 und Firefox 35 behoben wurden.
CSS
- Die
mask-type-Eigenschaft wurde standardmäßig aktiviert (Firefox-Bug 1058519). - Die
filter-Eigenschaft ist jetzt standardmäßig aktiviert (Firefox-Bug 1057180). - Die
@font-face-At-Regel unterstützt jetzt WOFF2-Schriften (Firefox-Bug 1064737). - Die
symbols()-Funktionalnotation wird jetzt unterstützt (Firefox-Bug 966168). - Die CSS Font Loading API wurde implementiert (Firefox-Bug 1028497).
- Die Verwendung von
-moz-appearancemit dem Wertnoneauf einer Combobox entfernt jetzt die Dropdown-Schaltfläche (Firefox-Bug 649849). - Der Eigenschaftszugriff
element.style["css-property-name"]wurde hinzugefügt, um mit anderen Browsern übereinzustimmen (Firefox-Bug 958887).
HTML
- Die veralteten und nicht konformen
bottommargin-,leftmargin-,rightmargin- undtopmargin-Attribute des<body>-Elements wurden in Nicht-Quirks-Modus aktiviert (Firefox-Bug 95530).
JavaScript
-
Die "temporäre tote Zone" für
let-Deklarationen wurde implementiert. In Übereinstimmung mit den ES2015-let-Semantiken werfen die folgenden Situationen jetzt Fehler. Siehe auch diese Newsgroup-Ankündigung und Firefox-Bug 1001090.- Die Wiederdeklaration bestehender Variablen oder Argumente mit
letim gleichen Gültigkeitsbereich in Funktionskörpern ist jetzt ein Syntaxfehler. - Die Verwendung einer mit
letdeklarierten Variablen in Funktionskörpern, bevor die Deklaration erreicht und ausgewertet wird, ist jetzt ein Laufzeitfehler.
- Die Wiederdeklaration bestehender Variablen oder Argumente mit
-
ES2015
Symbole(nur im Nightly-Kanal verfügbar) wurden aktualisiert, um mit den neuesten Spezifikationsänderungen übereinzustimmen:String(Symbol("1"))wirft jetzt keinenTypeErrormehr; stattdessen wird ein String ("Symbol(1)") zurückgegeben (Firefox-Bug 1058396).
-
Die verschiedenen TypedArray-Konstruktoren haben nun als ihr
[[Prototype]]eine einzelne Funktion, die in ES2015 als%TypedArray%bezeichnet wird (aber sonst nicht direkt exponiert ist). Jedes Typ-Array-Prototyp erbt nun von%TypedArray%.prototype. (%TypedArray%und%TypedArray%.prototypeerben vonFunction.prototypebzw.Object.prototype, sodass Typ-Array-Konstruktoren und -Instanzen immer noch die Eigenschaften aufweisen, die auf diesen Objekten zu finden sind.) Funktionseigenschaften von Typ-Arrays befinden sich jetzt auf%TypedArray%.prototypeund funktionieren bei jedem Typ-Array. Siehe TypedArray und Firefox-Bug 896116 für weitere Informationen. -
ES2015-Semantiken für Prototyp-Mutationen unter Verwendung von Objektliteralen wurden implementiert (Firefox-Bug 1061853).
- Jetzt wird nur ein einzelnes Mitglied, das als
__proto__:valuenotiert ist, den[[Prototype]]in der Objektliteral-Syntax verändern. - Methodenglieder wie
__proto__() {}überschreiben den[[Prototype]]nicht mehr.
- Jetzt wird nur ein einzelnes Mitglied, das als
Schnittstellen/APIs/DOM
navigator.languageundnavigator.languagessind jetzt für Worker imWorkerNavigatorverfügbar (Firefox-Bug 925849).- Die
Element.closest()-Methode gibt den nächsten Vorfahren des aktuellen Elements zurück (Firefox-Bug 1055533). - Experimentelle Unterstützung für die
CanvasRenderingContext2D.filter-Eigenschaft wurde hinter demcanvas.filters.enabled-Flag hinzugefügt (Firefox-Bug 927892). - Unsere experimentelle Implementierung von Web Animationen schreitet mit der Einführung der
Animation.target-Eigenschaft voran. Diese ist immer noch hinter der Voreinstellungdom.animations-api.core.enabled, standardmäßig deaktiviert (Firefox-Bug 1067701). - Die
hasAttributes()-Methode wurde gemäß der Spezifikation vonNodenachElementverschoben (Firefox-Bug 1055773). - Das reflektierte Attribut
crossOriginvonHTMLImageElement,HTMLLinkElement,HTMLMediaElement,HTMLScriptElementundSVGScriptElementakzeptiert nur gültige Werte, und""ist nicht gültig,nullmuss stattdessen verwendet werden (Firefox-Bug 880997). - Die Resource Timing API wurde standardmäßig aktiviert (Firefox-Bug 1002855).
- Um der Spezifikation zu entsprechen, kann das erste Argument von
Selection.containsNode()nicht mehrnullsein (Firefox-Bug 1068058). - Die neue
ImageCapture-API wurde implementiert:ImageCapture.takePhoto()ist verfügbar (Firefox-Bug 916643). - Nicht-HTTP-
XMLHttpRequest-Anfragen geben jetzt200im Erfolgsfall zurück (statt des fehlerhaften0) (Firefox-Bug 716491). XMLHttpRequest.responseURLwurde an die neueste Spezifikation angepasst und enthält nicht mehr das Fragment ('#xyz') der URL, wenn relevant (Firefox-Bug 1073882).- Die interne, nicht standardmäßige
File.mozFullPath-Eigenschaft ist aus Inhalten nicht mehr sichtbar (Firefox-Bug 1048293). - Der Konstruktor von
Filewurde erweitert, um der Spezifikation zu entsprechen (Firefox-Bug 1047483). - Eine experimentelle Implementierung von
AbortablePromise, ein Promise, das von einem anderen Entitiy als demjenigen, der es erstellt hat, abgebrochen werden kann, wurde hinzugefügt. Es ist mitMozvorangestellt und wird durch die Einstellungdom.abortablepromise.enabledgesteuert, die standardmäßig auffalsesteht (Firefox-Bug 1035060). - Die nicht standardmäßige
Navigator.mozIsLocallyAvailable-Eigenschaft wurde entfernt (Firefox-Bug 1066826). - Die Präferenz
network.websocket.enabled, standardmäßig auftrue, wurde entfernt; die WebSocket-API kann nicht mehr deaktiviert werden (Firefox-Bug 1091016). - Die nicht standardmäßigen Methoden und Eigenschaften von
Cryptowurden entfernt (Firefox-Bug 1030963). Es sind nur noch Methoden und Eigenschaften vorhanden, die in der Standard-WebCrypto-API definiert sind. - Unsere experimentelle Implementierung von WebGL 2.0 geht voran!
- Die Methode
WebGL2RenderingContext.copyBufferSubData()wurde implementiert (Firefox-Bug 1048668).
- Die Methode
MathML
- Die
dtls-OpenType-Funktion (über die CSSfont-feature-settingsauf dem Standard-Stylesheet) wird nun automatisch auf MathML-Elemente angewendet, wenn Skripte darüber positioniert werden (z.B. punklose i mit mathematischem Hut).
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk & Sicherheit
- HTTP/2 wurde implementiert und aktiviert, nur mit AEAD-Chiffren (Firefox-Bug 1027720 und Firefox-Bug 1047594).
- Der HTTP/2-Header
alt-svcwird jetzt unterstützt (Firefox-Bug 1003448). - Die Public Key Pinning Extension für HTTP (HPKP) wurde implementiert (Firefox-Bug 787133).
- Die CSP 1.1
base-uriDirektive wird jetzt unterstützt (Firefox-Bug 1045897). - Beim Host-Quellenabgleich in CSP wird nun auch der Pfad der Quelle berücksichtigt (Firefox-Bug 808292).
Änderungen für Add-on- und Mozilla-Entwickler
>XUL & Add-ons
- Die private Methode
_getTabForBrowser()auf dem<xul:tabbrowser>-Element wurde als veraltet markiert. Stattdessen haben wir eine neue, öffentliche Methode namensgetTabForBrowserhinzugefügt. Diese gibt vorhersehbar das<xul:tab>-Element zurück, das den angegebenen<xul:browser>enthält. Components.utils.now(), passend zuPerformance.now(), wurde für Chrome-Code ohne Fenster implementiert (Firefox-Bug 969490).
Add-on SDK
Höhepunkte
- Zugriffstasten für das Kontextmenü hinzugefügt.
isPrivateBrowsingausBrowserWindowentfernt.toJSON-Methode zuURL-Instanzen hinzugefügt.
Details
GitHub-Commits, die zwischen Firefox 34 und Firefox 35 gemacht wurden. Dies schließt keine Upgrades ein, die nach diesem Release in Aurora gemacht wurden.
Bugs, die zwischen Firefox 34 und Firefox 35 behoben wurden. Dies schließt keine Upgrades ein, die nach diesem Release in Aurora gemacht wurden.