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
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
-Regel unterstützt nun 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).
- Bei Verwendung von
-moz-appearance
mit dem Wertnone
auf einem Kombinationsfeld wird jetzt der Dropdown-Button entfernt (Firefox-Bug 649849). - Der Eigenschafts-Accessor
element.style["css-property-name"]
wurde hinzugefügt, um Übereinstimmungen mit anderen Browsern zu erzielen (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 "temporäre tote Zone" für
let
-Deklarationen wurde implementiert. In Übereinstimmung mit denlet
-Semantiken von ES2015 führen die folgenden Situationen nun zu Fehlern. Siehe auch diese Newsgroup-Ankündigung und Firefox-Bug 1001090.- Das erneute Deklarieren bestehender Variablen oder Argumente mit
let
im selben Gültigkeitsbereich in Funktionskörpern ist nun ein Syntaxfehler. - Die Verwendung einer mit
let
deklarierten Variable in Funktionskörpern vor der Deklaration wird nun ein Laufzeitfehler.
- Das erneute Deklarieren bestehender Variablen oder Argumente mit
-
ES2015
Symbole
(nur im Nightly-Kanal verfügbar) wurden aktualisiert, um mit den neuesten Spezifikationsänderungen übereinzustimmen:String(Symbol("1"))
wirft jetzt keinenTypeError
mehr; stattdessen wird ein String ("Symbol(1)"
) zurückgegeben (Firefox-Bug 1058396).
-
Die verschiedenen TypedArray-Konstruktoren haben nun als ihre
[[Prototype]]
eine einzelne Funktion, als%TypedArray%
in ES2015 bezeichnet (aber sonst nicht direkt exponiert). Jedes typisierte Array-Prototyp erbt jetzt von%TypedArray%.prototype
. (%TypedArray%
und%TypedArray%.prototype
erben vonFunction.prototype
bzw.Object.prototype
, sodass typisierte Array-Konstruktoren und Instanzen immer noch die Eigenschaften auf diesen Objekten haben.) Typisierte Array-Funktionseigenschaften befinden sich nun in%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 Objektliteralen wurden implementiert (Firefox-Bug 1061853).
- Jetzt wird nur ein einziges Element, das als
__proto__:value
notiert ist, den[[Prototype]]
in der Objektliteral-Syntax mutieren. - Methodenelemente wie
__proto__() {}
überschreiben den[[Prototype]]
nicht mehr.
- Jetzt wird nur ein einziges Element, das als
Schnittstellen/APIs/DOM
navigator.language
undnavigator.languages
sind jetzt für Worker imWorkerNavigator
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 Landung der
Animation.target
-Eigenschaft voran. Dies ist immer hinter demdom.animations-api.core.enabled
-Pref, standardmäßig ausgeschaltet (Firefox-Bug 1067701). - Die
hasAttributes()
-Methode wurde vonNode
zuElement
verschoben, wie von der Spezifikation gefordert (Firefox-Bug 1055773). - Das reflektierte
crossOrigin
-Attribut vonHTMLImageElement
,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 die Spezifikationen einzuhalten, 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-Requests von
XMLHttpRequest
geben jetzt200
im Erfolgsfall zurück (anstelle des irrtümlichen0
) (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 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 Versprechen, das von einer anderen Entität abgebrochen werden kann als die, die es erstellt hat, wurde hinzugefügt. Es ist mitMoz
vorangestellt und wird durch die Eigenschaftdom.abortablepromise.enabled
gesteuert, die standardmäßigfalse
ist (Firefox-Bug 1035060). - Die nicht standardisierte
Navigator.mozIsLocallyAvailable
-Eigenschaft wurde entfernt (Firefox-Bug 1066826). - Die Präferenz
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). Nur noch die in der Standard-WebCrypto-API definierten Methoden und Eigenschaften sind übrig. - Unsere experimentelle Implementierung von WebGL 2.0 geht voran!
- Die
WebGL2RenderingContext.copyBufferSubData()
-Methode wurde implementiert (Firefox-Bug 1048668).
- Die
MathML
- Die OpenType-Funktion
dtls
(über die CSSfont-feature-settings
im Standardstylesheet) 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-Header
alt-svc
wird jetzt unterstützt (Firefox-Bug 1003448). - Die Public Key Pinning Extension 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 ein Quell-Host-Matching erfolgt (Firefox-Bug 808292).
Änderungen für Add-on- und Mozilla-Entwickler
XUL & Add-ons
- Die private Methode
_getTabForBrowser()
im<xul:tabbrowser>
-Element wurde veraltet. An ihrer Stelle 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()
, entsprechendPerformance.now()
wurde für Nicht-Fenster-Chromcode implementiert (Firefox-Bug 969490).
Add-on SDK
Highlights
- Zugriffstasten für das Kontextmenü hinzugefügt.
isPrivateBrowsing
ausBrowserWindow
entfernt.toJSON
-Methode zuURL
-Instanzen hinzugefügt.
Details
GitHub-Commits zwischen Firefox 34 und Firefox 35. Dies schließt keine Anhebungen ein, die nach diesem Release in Aurora gemacht wurden.
Zwischen Firefox 34 und Firefox 35 behobene Fehler. Dies schließt keine Anhebungen ein, die nach diesem Release 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