Firefox 35 für Entwickler
Firefox 35 wurde am 13. Januar 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
CSS
- Die Eigenschaft
mask-type
wurde standardmäßig aktiviert (Firefox Bug 1058519). - Die Eigenschaft
filter
ist jetzt standardmäßig aktiviert (Firefox Bug 1057180). - Die Regel
@font-face
unterstützt nun WOFF2-Schriften (Firefox Bug 1064737). - Die funktionale Notation
symbols()
wird jetzt unterstützt (Firefox Bug 966168). - Die CSS Font Loading API wurde implementiert (Firefox Bug 1028497).
- Die Verwendung von
-moz-appearance
mit dem Wertnone
bei einer Kombinationsbox entfernt nun den Dropdown-Button (Firefox Bug 649849). - Der Eigenzugriff
element.style["css-property-name"]
wurde hinzugefügt, um andere Browser zu bedienen (Firefox Bug 958887).
HTML
- Die veralteten und nicht konformen Attribute
bottommargin
,leftmargin
,rightmargin
undtopmargin
des<body>
Elements wurden im Nicht-Quirks-Modus aktiviert (Firefox Bug 95530).
JavaScript
-
Die "temporal dead zone" für
let
Deklarationen wurde implementiert. Entsprechend der ES2015let
-Semantik werfen die folgenden Situationen jetzt Fehler. Siehe auch diese Newsgroup-Ankündigung und Firefox Bug 1001090.- Die erneute Deklaration vorhandener Variablen oder Argumente mit
let
im gleichen Geltungsbereich in Funktionskörpern ist jetzt ein Syntaxfehler. - Die Verwendung einer mit
let
deklarierten Variablen in Funktionskörpern vor Erreichen und Auswertung der Deklaration ist jetzt ein Laufzeitfehler.
- Die erneute Deklaration vorhandener Variablen oder Argumente mit
-
ES2015
Symbole
(nur im Nightly-Kanal verfügbar) wurden angepasst, um den jüngsten Spezifikationsänderungen zu entsprechen:String(Symbol("1"))
wirft nun keinenTypeError
mehr; stattdessen wird ein String ("Symbol(1)"
) zurückgegeben (Firefox Bug 1058396).
-
Die verschiedenen TypedArray-Konstruktoren haben jetzt als
[[Prototype]]
eine einzige Funktion, bezeichnet als%TypedArray%
in ES2015 (aber ansonsten nicht direkt zugänglich). Jedes Typed Array-Prototyp erbt jetzt von%TypedArray%.prototype
. (%TypedArray%
und%TypedArray%.prototype
erben vonFunction.prototype
undObject.prototype
, so dass Typed Array-Konstruktoren und -Instanzen weiterhin die Eigenschaften dieser Objekte haben.) Funktionseigenschaften von Typed Arrays befinden sich jetzt auf%TypedArray%.prototype
und funktionieren bei jedem Typed Array. Siehe TypedArray und Firefox Bug 896116 für weitere Informationen. -
ES2015-Semantiken für Prototyp-Mutationen mit Objektliteralen wurden implementiert (Firefox Bug 1061853).
- Jetzt wird nur ein einzelnes Mitglied, notiert als
__proto__:value
, den[[Prototype]]
in der Objektliteral-Syntax verändern. - Methodenelemente wie
__proto__() {}
überschreiben den[[Prototype]]
nicht mehr.
- Jetzt wird nur ein einzelnes Mitglied, notiert als
Schnittstellen/APIs/DOM
navigator.language
undnavigator.languages
sind jetzt in Workern aufWorkerNavigator
verfügbar (Firefox Bug 925849).- Die Methode
Element.closest()
gibt den nächsten Vorfahren des aktuellen Elements zurück (Firefox Bug 1055533). - Experimentelle Unterstützung für die Eigenschaft
CanvasRenderingContext2D.filter
wurde hinter dem Flagcanvas.filters.enabled
hinzugefügt (Firefox Bug 927892). - Unsere experimentelle Implementierung von Web Animationen schreitet mit der Einführung der Eigenschaft
Animation.target
voran. Diese ist stets hinter dem Standardwertdom.animations-api.core.enabled
verborgen, der standardmäßig deaktiviert ist (Firefox Bug 1067701). - Die Methode
hasAttributes()
wurde vonNode
zuElement
verlegt, wie es die Spezifikation erfordert (Firefox Bug 1055773). - Das reflektierte Attribut
crossOrigin
vonHTMLImageElement
,HTMLLinkElement
,HTMLMediaElement
,HTMLScriptElement
undSVGScriptElement
akzeptiert nur gültige Werte, und""
ist keiner,null
muss stattdessen verwendet werden (Firefox Bug 880997). - Die Resource Timing API ist standardmäßig aktiviert (Firefox Bug 1002855).
- Um die Spezifikation zu erfüllen, kann das erste Argument von
Selection.containsNode()
nicht mehrnull
sein (Firefox Bug 1068058). - Die neue
ImageCapture
API wurde implementiert:ImageCapture.takePhoto()
ist verfügbar (Firefox Bug 916643). - Nicht-HTTP
XMLHttpRequest
Anfragen geben jetzt200
im Erfolgsfall zurück (anstatt des fehlerhaften0
) (Firefox Bug 716491). XMLHttpRequest.responseURL
wurde 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 Eigenschaft
File.mozFullPath
ist im Inhalt nicht mehr sichtbar (Firefox Bug 1048293). - Der Konstruktor von
File
wurde erweitert, um der Spezifikation zu entsprechen (Firefox Bug 1047483). - Eine experimentelle Implementierung von
AbortablePromise
, einem Promise, das von einer anderen Instanz als der, die es erstellt hat, abgebrochen werden kann, wurde hinzugefügt. Es ist mitMoz
vorangestellt und wird durch die Eigenschaftdom.abortablepromise.enabled
gesteuert, die standardmäßig auffalse
gesetzt ist (Firefox Bug 1035060). - Die nicht standardmäßige Eigenschaft
Navigator.mozIsLocallyAvailable
wurde entfernt (Firefox Bug 1066826). - Die Einstellung
network.websocket.enabled
, standardmäßig auftrue
gesetzt, wurde entfernt; die WebSocket API kann nicht mehr deaktiviert werden (Firefox Bug 1091016). - Die nicht standardmäßigen Methoden und Eigenschaften von
Crypto
wurden entfernt (Firefox Bug 1030963). Nur die im Standard-WebCrypto API definierten Methoden und Eigenschaften bleiben erhalten. - Unsere experimentelle Implementierung von WebGL 2.0 geht weiter voran!
- Die Methode
WebGL2RenderingContext.copyBufferSubData()
wurde implementiert (Firefox Bug 1048668).
- Die Methode
MathML
- Das
dtls
OpenType-Feature (über das CSSfont-feature-settings
im Standardstylesheet) wird jetzt automatisch auf MathML-Elemente angewendet, wenn darauf Skripte positioniert werden (z. B. punktloses 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
alt-svc
Header wird jetzt unterstützt (Firefox Bug 1003448). - Die Erweiterung zur Public Key Pinning für HTTP (HPKP) wurde implementiert (Firefox Bug 787133).
- Die CSP 1.1
base-uri
Direktive wird jetzt unterstützt (Firefox Bug 1045897). - Der Pfad der Quelle wird nun auch berücksichtigt, wenn bei CSP das Host-Source-Matching passiert (Firefox Bug 808292).
Änderungen für Add-on- und Mozilla-Entwickler
XUL & Add-ons
- Die private Methode
_getTabForBrowser()
auf dem<xul:tabbrowser>
Element wurde veraltet. Anstelle dessen wurde eine neue, öffentliche Methode namensgetTabForBrowser
hinzugefügt. Diese gibt erwartet das<xul:tab>
Element zurück, das den angegebenen<xul:browser>
enthält. Components.utils.now()
, entsprechendPerformance.now()
, wurde für nicht-Fenster-Chrome-Code implementiert (Firefox Bug 969490).
Add-on SDK
Höhepunkte
- Hinzugefügte Zugriffstasten für das Kontextmenü.
isPrivateBrowsing
ausBrowserWindow
entfernt.toJSON
Methode zuURL
-Instanzen hinzugefügt.
Details
GitHub Commits, die zwischen Firefox 34 und Firefox 35 gemacht wurden. Dies schließt keine Erhöhungen ein, die nach dem Eintritt dieser Version in Aurora vorgenommen wurden.
Zwischen Firefox 34 und Firefox 35 behobene Bugs. Dies wird keine Erhöhungen umfassen, die nach dem Eintritt dieser Version in Aurora vorgenommen wurden.
Ältere Versionen
- 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
- Firefox 4 für Entwickler
- Firefox 3.6 für Entwickler
- Firefox 3.5 für Entwickler
- Firefox 3 für Entwickler
- Firefox 2 für Entwickler
- Firefox 1.5 für Entwickler