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
mask-type
-Eigenschaft wurde standardmäßig aktiviert (Firefox-Fehler 1058519). - Die
filter
-Eigenschaft ist jetzt standardmäßig aktiviert (Firefox-Fehler 1057180). - Die
@font-face
-Regel unterstützt jetzt WOFF2-Schriften (Firefox-Fehler 1064737). - Die
symbols()
-Funktionalnotation wird jetzt unterstützt (Firefox-Fehler 966168). - Die CSS-Schrift-Ladungs-API wurde implementiert (Firefox-Fehler 1028497).
- Die Verwendung von
-moz-appearance
mit dem Wertnone
auf einem Kombinationsfeld entfernt jetzt den Dropdown-Button (Firefox-Fehler 649849). - Der Eigenschaftszugriff
element.style["css-property-name"]
wurde hinzugefügt, um andere Browser abzugleichen (Firefox-Fehler 958887).
HTML
- Die veralteten und nicht konformen Attribute
bottommargin
,leftmargin
,rightmargin
undtopmargin
des<body>
-Elements wurden im Non-Quirks-Modus aktiviert (Firefox-Fehler 95530).
JavaScript
-
Die "temporal dead zone" für
let
-Deklarationen wurde implementiert. In Übereinstimmung mit den ES2015let
-Semantiken werfen die folgenden Situationen jetzt Fehler. Siehe auch diese Newsgroup-Ankündigung und Firefox-Fehler 1001090.- Die erneute Deklaration vorhandener Variablen oder Argumente mit
let
innerhalb desselben Bereichs 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 aktualisiert, um den Änderungen der Spezifikation zu entsprechen:String(Symbol("1"))
wirft jetzt keinenTypeError
mehr; stattdessen wird ein String ("Symbol(1)"
) zurückgegeben (Firefox-Fehler 1058396).
-
Die verschiedenen TypedArray-Konstruktoren haben jetzt als ihr
[[Prototype]]
eine einzige Funktion, die in ES2015 als%TypedArray%
bezeichnet wird (aber ansonsten nicht direkt zugänglich ist). Jedes Typ-Array-Prototyp erbt jetzt von%TypedArray%.prototype
. (%TypedArray%
und%TypedArray%.prototype
erben vonFunction.prototype
undObject.prototype
, damit Typ-Array-Konstruktoren und Instanzen weiterhin die auf diesen Objekten gefundenen Eigenschaften haben.) Typ-Array-Funktionseigenschaften befinden sich nun auf%TypedArray%.prototype
und funktionieren auf jedem Typ-Array. Siehe TypedArray und Firefox-Fehler 896116 für weitere Informationen. -
ES2015-Semantiken für Prototypenmutationen unter Verwendung von Objektliteralen wurden implementiert (Firefox-Fehler 1061853).
- Jetzt wird nur ein einzelnes Mitglied, das als
__proto__:value
notiert ist, das[[Prototype]]
in der Objektliteral-Syntax ändern. - Methodenmitglieder wie
__proto__() {}
werden das[[Prototype]]
nicht mehr überschreiben.
- Jetzt wird nur ein einzelnes Mitglied, das als
Schnittstellen/APIs/DOM
-
navigator.language
undnavigator.languages
sind jetzt für Worker aufWorkerNavigator
verfügbar (Firefox-Fehler 925849). -
Die Methode
Element.closest()
gibt den nächstgelegenen Vorfahren des aktuellen Elements zurück (Firefox-Fehler 1055533). -
Experimentelle Unterstützung für die Eigenschaft
CanvasRenderingContext2D.filter
wurde hinter dem Flagcanvas.filters.enabled
hinzugefügt (Firefox-Fehler 927892). -
Unsere experimentelle Implementierung von Web-Animationen macht Fortschritte mit der Einführung der Eigenschaft
Animation.target
. Diese ist immer noch hinter dem Standarddom.animations-api.core.enabled
, das standardmäßig deaktiviert ist (Firefox-Fehler 1067701). -
Die Methode
hasAttributes()
wurde vonNode
zuElement
verschoben, wie es die Spezifikation verlangt (Firefox-Fehler 1055773). -
Das reflektierte Attribut
crossOrigin
vonHTMLImageElement
,HTMLLinkElement
,HTMLMediaElement
,HTMLScriptElement
, undSVGScriptElement
akzeptiert nur gültige Werte, und""
ist es nicht,null
muss stattdessen verwendet werden (Firefox-Fehler 880997). -
Die Resource Timing API wurde standardmäßig aktiviert (Firefox-Fehler 1002855).
-
Um die Spezifikation zu erfüllen, kann das erste Argument von
Selection.containsNode()
nicht mehrnull
sein (Firefox-Fehler 1068058). -
Die neue
ImageCapture
API wurde implementiert:ImageCapture.takePhoto()
ist verfügbar (Firefox-Fehler 916643). -
Nicht-HTTP-Anfragen von
XMLHttpRequest
geben jetzt200
bei Erfolg zurück (anstatt des fehlerhaften0
) (Firefox-Fehler 716491). -
XMLHttpRequest.responseURL
wurde an die neueste Spezifikation angepasst und schließt nicht das Fragment ('#xyz'
) der URL ein, falls relevant (Firefox-Fehler 1073882). -
Die interne, nicht standardisierte
File.mozFullPath
-Eigenschaft ist von Inhalten nicht mehr sichtbar (Firefox-Fehler 1048293). -
Der Konstruktor von
File
wurde erweitert, um der Spezifikation zu entsprechen (Firefox-Fehler 1047483). -
Eine experimentelle Implementierung von
AbortablePromise
, ein Promise, das von einer anderen Entität, die es nicht erstellt hat, abgebrochen werden kann, wurde hinzugefügt. Es ist mitMoz
versehen und wird durch die Eigenschaftdom.abortablepromise.enabled
gesteuert, die standardmäßig auffalse
steht (Firefox-Fehler 1035060). -
Die nicht standardisierte Eigenschaft
Navigator.mozIsLocallyAvailable
wurde entfernt (Firefox-Fehler 1066826). -
Die Voreinstellung
network.websocket.enabled
, standardmäßigtrue
, wurde entfernt; Die WebSocket API kann nicht mehr deaktiviert werden (Firefox-Fehler 1091016). -
Die nicht standardisierten Methoden und Eigenschaften von
Crypto
wurden entfernt (Firefox-Fehler 1030963). Es bleiben nur Methoden und Eigenschaften übrig, die in der standardisierten WebCrypto API definiert sind. -
Unsere experimentelle Implementierung von WebGL 2.0 schreitet voran!
- Die Methode
WebGL2RenderingContext.copyBufferSubData()
wurde implementiert (Firefox-Fehler 1048668).
- Die Methode
MathML
- Die
dtls
-OpenType-Funktion (über die CSS-Eigenschaftfont-feature-settings
im Standardstylesheet) wird nun beim Positionieren von Skripten über MathML-Elemente automatisch angewendet (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-Fehler 1027720 und Firefox-Fehler 1047594).
- Der HTTP/2-Header
alt-svc
wird jetzt unterstützt (Firefox-Fehler 1003448). - Die Public Key Pinning Erweiterung für HTTP (HPKP) wurde implementiert (Firefox-Fehler 787133).
- Die CSP 1.1
base-uri
Directive wird jetzt unterstützt (Firefox-Fehler 1045897). - Beim Host-Quellen-Matching in CSP wird jetzt auch der Pfad der Quelle berücksichtigt (Firefox-Fehler 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. An deren Stelle haben wir eine neue, öffentliche Methode namensgetTabForBrowser
hinzugefügt. Diese gibt, wie erwartet, das<xul:tab>
-Element zurück, das das angegebene<xul:browser>
enthält. Components.utils.now()
, entsprechendPerformance.now()
, wurde für Chrome-Code ohne Fenster implementiert (Firefox-Fehler 969490).
Add-on SDK
Höhepunkte
- Hinzugefügt: Zugriffstasten für Kontextmenüs.
- Entfernt:
isPrivateBrowsing
ausBrowserWindow
. - Hinzugefügt:
toJSON
-Methode zuURL
-Instanzen.
Details
GitHub Commits zwischen Firefox 34 und Firefox 35. Dies schließt keine Aktualisierungen ein, die nach dem Übergang dieser Version in Aurora durchgeführt wurden.
Fehler behoben zwischen Firefox 34 und Firefox 35. Dies schließt keine Aktualisierungen ein, die nach dem Übergang dieser Version in Aurora durchgeführt 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