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 nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler.
Änderungen für Webentwickler
Entwicklerwerkzeuge
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-Schriftarten (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-appearance
mit dem Wertnone
auf einem Kombinationsfeld entfernt jetzt den Dropdown-Button (Firefox Bug 649849). - Der Property-Accessor
element.style["css-property-name"]
wurde hinzugefügt, um andere Browser anzupassen (Firefox Bug 958887).
HTML
- Die veralteten und nicht konformen
bottommargin
,leftmargin
,rightmargin
undtopmargin
Attribute des<body>
Elements wurden im Non-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 erneute Deklaration bestehender Variablen oder Argumente mit
let
innerhalb desselben Bereichs in Funktionskörpern ist jetzt ein Syntaxfehler. - Die Verwendung einer mit
let
deklarierten Variable in Funktionskörpern, bevor die Deklaration erreicht und ausgewertet wird, ist jetzt ein Laufzeitfehler.
- Die erneute Deklaration bestehender Variablen oder Argumente mit
-
ES2015
Symbole
(nur im Nightly-Kanal verfügbar) wurden aktualisiert, 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 sonst nicht direkt zugänglich). Jedes typisierte Array-Prototyp erbt jetzt von%TypedArray%.prototype
. (%TypedArray%
und%TypedArray%.prototype
erben vonFunction.prototype
undObject.prototype
jeweils, sodass typisierte Array-Konstruktoren und -Instanzen weiterhin die auf diesen Objekten gefundenen Eigenschaften haben.) Typisierte Array-Funktionseigenschaften befinden sich jetzt auf%TypedArray%.prototype
und funktionieren auf jedem typisierten Array. Siehe TypedArray und Firefox Bug 896116 für weitere Informationen. -
ES2015-Semantiken für Prototyp-Mutationen unter Verwendung von Objekt-Literalen wurden implementiert (Firefox Bug 1061853).
- Jetzt wird nur noch ein einzelnes Mitglied, das als
__proto__:value
notiert ist, den[[Prototype]]
im Objektliteral-Syntax mutieren. - Methodenelemente wie
__proto__() {}
überschreiben den[[Prototype]]
nicht mehr.
- Jetzt wird nur noch ein einzelnes Mitglied, das als
Schnittstellen/APIs/DOM
-
navigator.language
undnavigator.languages
sind jetzt auf Arbeitern aufWorkerNavigator
verfü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 Animations schreitet mit dem Einfügen der
Animation.target
Eigenschaft voran. Diese ist immer hinter demdom.animations-api.core.enabled
Pref, standardmäßig deaktiviert (Firefox Bug 1067701). -
Die
hasAttributes()
Methode wurde vonNode
nachElement
verschoben, wie es die Spezifikation erfordert (Firefox Bug 1055773). -
Das reflektierte Attribut
crossOrigin
desHTMLImageElement
,HTMLLinkElement
,HTMLMediaElement
,HTMLScriptElement
undSVGScriptElement
akzeptiert nur gültige Werte, und""
ist es nicht,null
muss 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 mehrnull
sein (Firefox Bug 1068058). -
Die neue
ImageCapture
API wurde implementiert:ImageCapture.takePhoto()
ist verfügbar (Firefox Bug 916643). -
Non-HTTP
XMLHttpRequest
Anfragen geben jetzt200
im Erfolgsfall zurück (anstelle des fehlerhaften0
) (Firefox Bug 716491). -
XMLHttpRequest.responseURL
wurde an die neueste Spezifikation angepasst und enthält nicht das Fragment ('#xyz'
) der URL, falls relevant (Firefox Bug 1073882). -
Die interne, nicht standardisierte Eigenschaft
File.mozFullPath
ist von Inhalten 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 Entität als derjenigen, die es erstellt hat, abgebrochen werden kann, wurde hinzugefügt. Es ist mitMoz
versehen und wird durch diedom.abortablepromise.enabled
Eigenschaft gesteuert, die standardmäßig auffalse
eingestellt ist (Firefox Bug 1035060). -
Die nicht standardisierte Eigenschaft
Navigator.mozIsLocallyAvailable
wurde entfernt (Firefox Bug 1066826). -
Die Voreinstellung
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
Crypto
wurden entfernt (Firefox Bug 1030963). Es sind nur noch die in der Standard-WebCrypto-API definierten Methoden und Eigenschaften vorhanden. -
Unsere experimentelle Implementierung von WebGL 2.0 schreitet voran!
- Die Methode
WebGL2RenderingContext.copyBufferSubData()
wurde implementiert (Firefox Bug 1048668).
- Die Methode
MathML
- Die
dtls
OpenType-Funktion (über das CSSfont-feature-settings
im Standard-Stylesheet) wird jetzt automatisch auf MathML-Elemente angewendet, wenn Skripte darüber 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 Public Key Pinning-Erweiterung 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 jetzt ebenfalls berücksichtigt, wenn das Host-Quellen-Matching in CSP erfolgt (Firefox Bug 808292).
Änderungen für Add-on- und Mozilla-Entwickler
XUL & Add-ons
- Die private
_getTabForBrowser()
Methode auf dem<xul:tabbrowser>
Element wurde veraltet. Anstelle dessen haben wir eine neue, öffentliche Methode namensgetTabForBrowser
hinzugefügt. Diese gibt erwartungsgemäß das<xul:tab>
Element zurück, das den angegebenen<xul:browser>
enthält. Components.utils.now()
, entsprechenPerformance.now()
wurde für Nicht-Fenster-Chromecode implementiert (Firefox Bug 969490).
Add-on SDK
Höhepunkte
- Zugangstasten für das Kontextmenü hinzugefügt.
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 Aufwertungen ein, die nach diesem Release in Aurora eingetreten sind.
Bugs, die zwischen Firefox 34 und Firefox 35 behoben wurden. Dies schließt keine Aufwertungen ein, die nach diesem Release in Aurora eingetreten sind.
Ältere Versionen
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers
- Firefox 24 for developers
- Firefox 23 for developers
- Firefox 22 for developers
- Firefox 21 for developers
- Firefox 20 for developers
- Firefox 19 for developers
- Firefox 18 for developers
- Firefox 17 for developers
- Firefox 16 for developers
- Firefox 15 for developers
- Firefox 14 for developers
- Firefox 13 for developers
- Firefox 12 for developers
- Firefox 11 for developers
- Firefox 10 for developers
- Firefox 9 for developers
- Firefox 8 for developers
- Firefox 7 for developers
- Firefox 6 for developers
- Firefox 5 for developers
- Firefox 4 for developers
- Firefox 3.6 for developers
- Firefox 3.5 for developers
- Firefox 3 for developers
- Firefox 2 for developers
- Firefox 1.5 for developers