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
>Entwicklerwerkzeuge
Höhepunkte:
- Sehen Sie ::before und ::after pseudo Elemente im Page Inspector
- CSS-Quellkarten sind jetzt standardmäßig aktiviert
- "DOM-Eigenschaften anzeigen" aus dem Page Inspector
Alle DevTools-Bugs, die zwischen Firefox 34 und Firefox 35 behoben wurden.
CSS
- Die
mask-typeEigenschaft wurde standardmäßig aktiviert (Firefox-Bug 1058519). - Die
filterEigenschaft ist jetzt standardmäßig aktiviert (Firefox-Bug 1057180). - Die
@font-face@-Regel unterstützt jetzt WOFF2-Schriften (Firefox-Bug 1064737). - Die
symbols()funktionale Notation wird jetzt unterstützt (Firefox-Bug 966168). - Die CSS-Font-Loading-API wurde implementiert (Firefox-Bug 1028497).
- Das Verwenden von
-moz-appearancemit dem Wertnoneauf einem Kombinationsfeld entfernt jetzt den Dropdown-Knopf (Firefox-Bug 649849). - Der Eigenschafts-Accessor
element.style["css-property-name"]wurde hinzugefügt, um anderen Browsern zu entsprechen (Firefox-Bug 958887).
HTML
- Die veralteten und nicht konformen
bottommargin,leftmargin,rightmarginundtopmarginAttribute des<body>Elements wurden im Nicht-Quirks-Modus aktiviert (Firefox-Bug 95530).
JavaScript
-
Die "temporal dead zone" für
letDeklarationen wurde implementiert. In Übereinstimmung mit den ES2015letSemantiken führen die folgenden Situationen jetzt zu Fehlern. Siehe auch diese Nachrichtengruppen-Ankündigung und Firefox-Bug 1001090.- Das erneute Deklarieren bestehender Variablen oder Argumente mit
letinnerhalb des gleichen Geltungsbereichs in Funktionskörpern ist jetzt ein Syntaxfehler. - Das Verwenden einer mit
letdeklarierten Variablen in Funktionskörpern vor dem Erreichen und Auswerten der Deklaration ist jetzt ein Laufzeitfehler.
- Das erneute Deklarieren bestehender Variablen oder Argumente mit
-
ES2015
Symbols(nur im Nightly-Kanal verfügbar) wurden aktualisiert, um den jüngsten Spezifikationsänderungen zu entsprechen:String(Symbol("1"))führt jetzt nicht mehr zu einemTypeError; stattdessen wird ein String ("Symbol(1)") zurückgegeben (Firefox-Bug 1058396).
-
Die verschiedenen TypedArray Konstruktoren haben jetzt als ihr
[[Prototype]]eine einzige Funktion, bezeichnet als%TypedArray%in ES2015 (aber sonst nicht direkt exponiert). Jedes typisierte Array-Prototyp erbt jetzt von%TypedArray%.prototype. (%TypedArray%und%TypedArray%.prototypeerben jeweils vonFunction.prototypeundObject.prototype, sodass Konstruktoren und Instanzen von typisierten Arrays weiterhin die Eigenschaften dieser Objekte haben.) Funktionseigenschaften von typisierten Arrays befinden sich jetzt auf%TypedArray%.prototypeund funktionieren bei jedem typisierten Array. Siehe TypedArray und Firefox-Bug 896116 für weitere Informationen. -
ES2015 Semantiken für Prototyp-Mutationen mit Objekt-Literalen wurden implementiert (Firefox-Bug 1061853).
- Jetzt wird nur noch ein einziges Mitglied, das als
__proto__:valuenotiert ist, das[[Prototype]]in der Objekt-Literal-Syntax verändern. - Methodenmitglieder wie
__proto__() {}werden das[[Prototype]]nicht mehr überschreiben.
- Jetzt wird nur noch ein einziges Mitglied, das als
Schnittstellen/APIs/DOM
navigator.languageundnavigator.languagessind jetzt für Worker auf demWorkerNavigatorverfü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.filterEigenschaft wurde hinter dem Flagcanvas.filters.enabledhinzugefügt (Firefox-Bug 927892). - Unser experimentelles Implementieren von Web Animationen geht weiter mit der Einführung der
Animation.targetEigenschaft. Diese ist immer noch hinter der Voreinstellungdom.animations-api.core.enabled, standardmäßig deaktiviert (Firefox-Bug 1067701). - Die
hasAttributes()Methode wurde vomNodeaufElementverschoben, wie von der Spezifikation gefordert (Firefox-Bug 1055773). - Das reflektierte Attribut
crossOriginvonHTMLImageElement,HTMLLinkElement,HTMLMediaElement,HTMLScriptElement, undSVGScriptElementakzeptiert 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
ImageCaptureAPI wurde implementiert:ImageCapture.takePhoto()ist verfügbar (Firefox-Bug 916643). - Nicht-HTTP
XMLHttpRequestAnfragen geben jetzt200im Erfolgsfall zurück (anstatt des fehlerhaften0) (Firefox-Bug 716491). XMLHttpRequest.responseURLwurde an die neueste Spezifikation angepasst und enthält nicht mehr das Fragment ('#xyz') der URL, falls relevant (Firefox-Bug 1073882).- Die interne, nicht standardmäßige
File.mozFullPathEigenschaft ist von 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, einem Promise, das durch eine andere Entität abgebrochen werden kann als diejenige, die es erstellt hat, wurde hinzugefügt. Es ist mitMozvorangestellt und durch die Eigenschaftdom.abortablepromise.enabledkontrolliert, die standardmäßigfalseist (Firefox-Bug 1035060). - Die nicht-standardisierte Eigenschaft
Navigator.mozIsLocallyAvailablewurde entfernt (Firefox-Bug 1066826). - Die Präferenz
network.websocket.enabled, standardmäßigtrue, wurde entfernt; die WebSocket API kann nicht mehr deaktiviert werden (Firefox-Bug 1091016). - Die nicht-standardisierten Methoden und Eigenschaften von
Cryptowurden entfernt (Firefox-Bug 1030963). Nur Methoden und Eigenschaften, die in der Standard-WebCrypto-API definiert sind, bleiben. - Unser experimentelles Implementieren von WebGL 2.0 schreitet voran!
- Die
WebGL2RenderingContext.copyBufferSubData()Methode wurde implementiert (Firefox-Bug 1048668).
- Die
MathML
- Das OpenType-Feature
dtls(über die CSSfont-feature-settingsauf dem Standard-Stylesheet) wird jetzt automatisch auf MathML-Elemente angewendet, wenn Skripte über es positioniert werden (z. B. punktloses i mit mathematischer Haube).
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
alt-svcHeader wird jetzt unterstützt (Firefox-Bug 1003448). - Die Public Key Pinning Extension for HTTP (HPKP) wurde implementiert (Firefox-Bug 787133).
- Die CSP 1.1
base-uriDirektive wird jetzt unterstützt (Firefox-Bug 1045897). - Der Pfad der Quelle wird jetzt auch berücksichtigt, wenn beim Host-Source-Matching in CSP (Firefox-Bug 808292).
Änderungen für Add-on- und Mozilla-Entwickler
>XUL & Add-ons
- Die private Methode
_getTabForBrowser()des<xul:tabbrowser>Elements wurde als veraltet markiert. Stattdessen haben wir eine neue, öffentliche Methode namensgetTabForBrowserhinzugefügt. Diese gibt, wie zu erwarten, das<xul:tab>Element zurück, das das angegebene<xul:browser>enthält. Components.utils.now(), entsprechendPerformance.now()wurde für Nicht-Fenster-Chrom-Code implementiert (Firefox-Bug 969490).
Add-on SDK
Höhepunkte
- Zugriffstasten für das Kontextmenü hinzugefügt.
isPrivateBrowsingausBrowserWindowentfernt.toJSONMethode zuURLInstanzen hinzugefügt.
Details
GitHub Commits, die zwischen Firefox 34 und Firefox 35 gemacht wurden. Dies wird keine Erhöhungen beinhalten, die nach Eintritt dieser Version in Aurora vorgenommen wurden.
Bugs, die zwischen Firefox 34 und Firefox 35 behoben wurden. Dies wird keine Erhöhungen beinhalten, die nach Eintritt dieser Version in Aurora vorgenommen wurden.