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 Add-on-Entwickler.
Änderungen für Webentwickler
Entwickler-Tools
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 nun den Dropdown-Button (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 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. In Übereinstimmung mit denlet
-Semantiken von ES2015 werfen die folgenden Situationen jetzt Fehler aus. 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 Variablen in Funktionskörpern, bevor die Deklaration erreicht und ausgewertet wurde, ist jetzt ein Laufzeitfehler.
- Die erneute Deklaration bestehender Variablen oder Argumente mit
-
ES2015
Symbole
(nur im Nightly-Kanal verfügbar) wurden aktualisiert, um mit den jüngsten Spezifikationsänderungen übereinzustimmen:String(Symbol("1"))
löst jetzt keinenTypeError
mehr aus; stattdessen wird eine Zeichenkette ("Symbol(1)"
) zurückgegeben (Firefox-Bug 1058396).
-
Die verschiedenen TypedArray Konstruktoren haben jetzt als
[[Prototype]]
eine einzige Funktion, die in ES2015 %TypedArray% genannt wird (aber nicht direkt exponiert). Jedes Prototype-Array erbt nun von%TypedArray%.prototype
. (%TypedArray%
und%TypedArray%.prototype
erben vonFunction.prototype
undObject.prototype
, sodass Prototype-Array-Konstruktoren und -Instanzen weiterhin die auf diesen Objekten befindlichen Eigenschaften haben.) Funktionen für TypedArrays befinden sich jetzt auf%TypedArray%.prototype
und funktionieren mit jedem TypedArray. Siehe TypedArray und Firefox-Bug 896116 für mehr Informationen. -
ES2015-Semantiken für Prototyp-Mutationen unter Verwendung von Objektliteralen wurden implementiert (Firefox-Bug 1061853).
- Jetzt mutiert nur noch ein einziges Mitglied, das als
__proto__:value
notiert ist, den[[Prototype]]
in der Objektliteral-Syntax. - Methodenelemente wie
__proto__() {}
überschreiben den[[Prototype]]
nicht mehr.
- Jetzt mutiert nur noch ein einziges Mitglied, das als
Schnittstellen/APIs/DOM
-
navigator.language
undnavigator.languages
sind jetzt in Workern 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 Animationen schreitet mit der Einführung der
Animation.target
Eigenschaft voran. Diese ist immer hinter derdom.animations-api.core.enabled
Voreinstellung, die standardmäßig aus ist (Firefox-Bug 1067701). -
Die
hasAttributes()
Methode wurde vonNode
zuElement
verschoben, wie es die Spezifikation erfordert (Firefox-Bug 1055773). -
Das
crossOrigin
Attribut derHTMLImageElement
,HTMLLinkElement
,HTMLMediaElement
,HTMLScriptElement
, undSVGScriptElement
akzeptiert nur gültige Werte, und""
ist keiner davon,null
muss stattdessen verwendet werden (Firefox-Bug 880997). -
Die Resource Timing API wurde standardmäßig aktiviert (Firefox-Bug 1002855).
-
Um mit der Spezifikation übereinzustimmen, 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 der falschen0
) (Firefox-Bug 716491). -
XMLHttpRequest.responseURL
wurde an die neueste Spezifikation angepasst und beinhaltet nicht mehr das Fragment ('#xyz'
) der URL, falls relevant (Firefox-Bug 1073882). -
Die interne, nicht standardisierte,
File.mozFullPath
Eigenschaft ist nicht mehr von Inhalten sichtbar (Firefox-Bug 1048293). -
Der Konstruktor von
File
wurde erweitert, um der Spezifikation zu entsprechen (Firefox-Bug 1047483). -
Eine experimentelle Implementierung von
AbortablePromise
, ein Promise, das von einer anderen Entität als der Erzeuger abgebrochen werden kann, wurde hinzugefügt. Es ist mitMoz
vorangestellt und wird von derdom.abortablepromise.enabled
Eigenschaft gesteuert, die standardmäßig auffalse
steht (Firefox-Bug 1035060). -
Die nicht standardisierte
Navigator.mozIsLocallyAvailable
Eigenschaft 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 übrig. -
Unsere experimentelle Implementierung 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-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-Cipher (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
Richtlinie wird jetzt unterstützt (Firefox-Bug 1045897). - Der Pfad der Quelle wird jetzt auch in Betracht gezogen, wenn ein Hostquellenabgleich in CSP erfolgt (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. An deren Stelle haben wir eine neue, öffentliche Methode namensgetTabForBrowser
hinzugefü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-fensterspezifischen Chrome-Code implementiert (Firefox-Bug 969490).
Add-on SDK
Höhepunkte
- Hinzugefügt: Zugriffstasten für das Kontextmenü.
- Entfernt:
isPrivateBrowsing
ausBrowserWindow
. - Hinzugefügt:
toJSON
Methode zuURL
Instanzen.
Details
GitHub-Einträge, die zwischen Firefox 34 und Firefox 35 gemacht wurden. Dies schließt keine Upstrokes ein, die nach diesem Release in Aurora aufgenommen wurden.
Zwischen Firefox 34 und Firefox 35 behobene Bugs. Dies schließt keine Upstrokes ein, die nach diesem Release in Aurora aufgenommen wurden.
Ä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