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
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 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
auf einem Kombinationsfeld entfernt jetzt den Dropdown-Button (Firefox-Bug 649849). - Der Property-Zugriff
element.style["css-property-name"]
wurde hinzugefügt, um andere Browser zu matchen (Firefox-Bug 958887).
HTML
- Die veralteten und nicht-konformen
bottommargin
,leftmargin
,rightmargin
undtopmargin
Attribute des<body>
Elements wurden im Nicht-Quirks-Modus aktiviert (Firefox-Bug 95530).
JavaScript
-
Die "temporal dead zone" für
let
Deklarationen wurde implementiert. Gemäß ES2015let
Semantik werfen die folgenden Situationen jetzt Fehler. Siehe auch diese Newsgroup-Ankündigung und Firefox-Bug 1001090.- Die Neudeklaration bestehender Variablen oder Argumente mit
let
im selben Gültigkeitsbereich innerhalb von 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 Neudeklaration 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 jetzt nicht mehr einenTypeError
, sondern gibt einen String ("Symbol(1)"
) zurück (Firefox-Bug 1058396).
-
Die verschiedenen TypedArray Konstruktoren haben jetzt als
[[Prototype]]
eine einzelne Funktion, die in ES2015 als%TypedArray%
bezeichnet wird (aber ansonsten nicht direkt exponiert wird). Jedes typisierte Array-Prototyp erbt nun von%TypedArray%.prototype
. (%TypedArray%
und%TypedArray%.prototype
erben vonFunction.prototype
undObject.prototype
, sodass typisierte Array-Konstruktoren und Instanzen weiterhin die in diesen Objekten gefundenen Eigenschaften haben.) Typisierte Array-Funktionseigenschaften sind jetzt auf%TypedArray%.prototype
ansässig und funktionieren auf jedem typisierten Array. Siehe TypedArray und Firefox-Bug 896116 für weitere Informationen. -
ES2015 Semantik für Prototyp-Mutationen mit Objekt-Literalen wurden implementiert (Firefox-Bug 1061853).
- Jetzt wird nur noch ein einziges Mitglied, das als
__proto__:value
notiert ist, den[[Prototype]]
in der Objekt-Literal-Syntax ändern. - Methodenmitglieder wie
__proto__() {}
werden den[[Prototype]]
nicht mehr überschreiben.
- Jetzt wird nur noch ein einziges Mitglied, das als
Schnittstellen/APIs/DOM
-
navigator.language
undnavigator.languages
sind jetzt in Arbeitern 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 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 steht immer hinter der Standarddom.animations-api.core.enabled
Voreinstellung, die standardmäßig ausgeschaltet ist (Firefox-Bug 1067701). -
Die Methode
hasAttributes()
wurde vonNode
nachElement
verschoben, wie es von der Spezifikation gefordert wird (Firefox-Bug 1055773). -
Das
crossOrigin
reflektierte Attribut vonHTMLImageElement
,HTMLLinkElement
,HTMLMediaElement
,HTMLScriptElement
undSVGScriptElement
akzeptiert nur gültige Werte und""
ist kein solcher; stattdessen mussnull
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). -
Nicht-HTTP
XMLHttpRequest
Anfragen geben bei Erfolg jetzt200
zurück (statt 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,
File.mozFullPath
Eigenschaft ist aus dem 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
, ein Promise, das von einer anderen Instanz als der, die es erstellt hat, abgebrochen werden kann, wurde hinzugefügt. Es ist mitMoz
präfixiert und wird durch die Eigenschaftdom.abortablepromise.enabled
gesteuert, die standardmäßig auffalse
gesetzt ist (Firefox-Bug 1035060). -
Die nicht standardisierte Eigenschaft
Navigator.mozIsLocallyAvailable
wurde entfernt (Firefox-Bug 1066826). -
Die Präferenz
network.websocket.enabled
, die standardmäßig auftrue
gesetzt ist, 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 Methoden und Eigenschaften vorhanden, die im Standard-WebCrypto-API definiert sind. -
Unsere experimentelle Implementierung von WebGL 2.0 geht voran!
- Die Methode
WebGL2RenderingContext.copyBufferSubData()
wurde implementiert (Firefox-Bug 1048668).
- Die Methode
MathML
- Die
dtls
OpenType-Funktion (ü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-Chiffren (Firefox-Bug 1027720 und Firefox-Bug 1047594).
- Der HTTP/2
alt-svc
Header wird jetzt unterstützt (Firefox-Bug 1003448). - Die Erweiterung zum öffentlichen Schlüssel-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 jetzt ebenfalls berücksichtigt, wenn das Matching der Host-Quelle in CSP stattfindet (Firefox-Bug 808292).
Änderungen für Add-on und Mozilla-Entwickler
XUL & Add-ons
- Die private Methode
_getTabForBrowser()
auf dem<xul:tabbrowser>
Element wurde als veraltet erklärt. An ihrer Stelle haben wir eine neue, öffentliche Methode namensgetTabForBrowser
hinzugefügt. Diese gibt, vorhersehbar, das<xul:tab>
Element zurück, das das spezifizierte<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ügt: Zugangstasten für das Kontextmenü.
isPrivateBrowsing
ausBrowserWindow
entfernt.- Hinzugefügt:
toJSON
Methode zuURL
Instanzen.
Details
GitHub-Commits zwischen Firefox 34 und Firefox 35. Dies schließt keine Aufwertungen ein, die nach dem Eintritt dieser Version in Aurora gemacht wurden.
Fehler, die zwischen Firefox 34 und Firefox 35 behoben wurden. Dies schließt keine Aufwertungen ein, die nach dem Eintritt dieser Version in Aurora gemacht 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