Firefox 35 für Entwickler
Firefox 35 wurde am 13. Januar 2015 veröffentlicht. Dieser Artikel listet die wichtigsten Ä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
Highlights:
- Sehen Sie sich ::before und ::after Pseudo-Elemente im Seiteninspektor an
- CSS-Source-Maps sind jetzt standardmäßig aktiviert
- "DOM-Eigenschaften anzeigen" im Seiteninspektor
Alle Devtools-Fehler, die zwischen Firefox 34 und Firefox 35 behoben wurden.
CSS
- Die Eigenschaft
mask-type
wurde standardmäßig aktiviert (Firefox Bug 1058519). - Die Eigenschaft
filter
ist jetzt standardmäßig aktiviert (Firefox Bug 1057180). - Die Atregel
@font-face
unterstützt jetzt WOFF2-Schriftarten (Firefox Bug 1064737). - Die funktionale Notation
symbols()
wird jetzt unterstützt (Firefox Bug 966168). - Die CSS-Schriftlade-API wurde implementiert (Firefox Bug 1028497).
- Die Verwendung von
-moz-appearance
mit dem Wertnone
auf einer Kombobox entfernt jetzt die Dropdown-Schaltfläche (Firefox Bug 649849). - Der Eigenschafts-Accessor
element.style["css-property-name"]
wurde hinzugefügt, um andere Browser anzupassen (Firefox Bug 958887).
HTML
- Die veralteten und nicht konformen Attribute
bottommargin
,leftmargin
,rightmargin
undtopmargin
des<body>
-Elements wurden im Nicht-Qirks-Modus aktiviert (Firefox Bug 95530).
JavaScript
-
Die "temporal dead zone" für
let
-Deklarationen wurde implementiert. In Übereinstimmung mit denlet
-Semantiken von ES2015 führen die folgenden Situationen jetzt zu Fehlern. Siehe auch diese Newsgroup-Ankündigung und Firefox Bug 1001090.- Die erneute Deklaration bestehender Variablen oder Argumente mit
let
im gleichen Bereich in Funktionskörpern ist jetzt ein Syntaxfehler. - Die Verwendung einer mit
let
deklarierten Variable in Funktionskörpern vor der Deklaration wird jetzt als Laufzeitfehler behandelt.
- Die erneute Deklaration bestehender Variablen oder Argumente mit
-
ES2015
Symbole
(nur im Nightly-Kanal verfügbar) wurden aktualisiert, um aktuellen Spezifikationsänderungen zu entsprechen:String(Symbol("1"))
wirft jetzt keinenTypeError
mehr; stattdessen wird ein String ("Symbol(1)"
) zurückgegeben (Firefox Bug 1058396).
-
Die verschiedenen TypedArray-Konstruktoren haben jetzt als
[[Prototype]]
eine einzige Funktion, die in ES2015 als%TypedArray%
bezeichnet wird (aber sonst nicht direkt freigelegt ist). Jedes typisierte Array-Prototyp erbt jetzt von%TypedArray%.prototype
. (%TypedArray%
und%TypedArray%.prototype
erben vonFunction.prototype
undObject.prototype
, damit typisierte Array-Konstruktoren und -Instanzen immer noch die Eigenschaften dieser Objekte haben.) Die Funktionseigenschaften der typisierten Arrays befinden sich jetzt auf%TypedArray%.prototype
und funktionieren bei jedem typisierten Array. Weitere Informationen finden Sie unter TypedArray und Firefox Bug 896116. -
ES2015-Semantiken für Prototyp-Mutationen mit Objektliteralen wurden implementiert (Firefox Bug 1061853).
- Jetzt wird nur ein einzelnes Mitglied, das als
__proto__:value
notiert ist, den[[Prototype]]
in der Objektliteral-Syntax mutieren. - Methodenmitglieder wie
__proto__() {}
überschreiben den[[Prototype]]
nicht mehr.
- Jetzt wird nur ein einzelnes Mitglied, das als
Schnittstellen/APIs/DOM
navigator.language
undnavigator.languages
sind jetzt für Worker aufWorkerNavigator
verfügbar (Firefox Bug 925849).- Die Methode
Element.closest()
gibt den nächsten Vorfahren des aktuellen Elements zurück (Firefox Bug 1055533). - Unterstützung für die experimentelle Eigenschaft
CanvasRenderingContext2D.filter
wurde hinter demcanvas.filters.enabled
-Flag hinzugefügt (Firefox Bug 927892). - Unsere experimentelle Implementierung der Web-Animationen schreitet voran mit dem Einbau der Eigenschaft
Animation.target
. Dies ist immer noch hinter der Standardeinstellungdom.animations-api.core.enabled
deaktiviert (Firefox Bug 1067701). - Die Methode
hasAttributes()
wurde vonNode
zuElement
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 es nicht mehr;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 API
ImageCapture
wurde implementiert:ImageCapture.takePhoto()
ist verfügbar (Firefox Bug 916643). - Nicht-HTTP-
XMLHttpRequest
-Anfragen geben im Erfolgsfall jetzt200
zurück (anstatt der fehlerhaften0
) (Firefox Bug 716491). XMLHttpRequest.responseURL
wurde an die neueste Spezifikation angepasst und enthält nicht mehr das Fragment ('#xyz'
) der URL, wenn zutreffend (Firefox Bug 1073882).- Die interne, nicht standardisierte Eigenschaft
File.mozFullPath
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
, einem Promise, das von einer anderen Entität als der, die es erstellt hat, abgebrochen werden kann, wurde hinzugefügt. Es ist mitMoz
vorangestellt und wird durch die Eigenschaftdom.abortablepromise.enabled
gesteuert, die standardmäßig auffalse
steht (Firefox Bug 1035060). - Die nicht-standardisierte Eigenschaft
Navigator.mozIsLocallyAvailable
wurde entfernt (Firefox Bug 1066826). - Die Eigenschaft
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 bleiben nur noch Methoden und Eigenschaften der Standard-WebCrypto-API. - Unsere experimentelle Implementierung von WebGL 2.0 geht voran!
- Die Methode
WebGL2RenderingContext.copyBufferSubData()
wurde implementiert (Firefox Bug 1048668).
- Die Methode
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. i ohne Punkt mit mathematischem Akzent).
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk & Sicherheit
- HTTP/2 wurde implementiert und aktiviert, nur mit AEAD-Verschlüsselungen (Firefox Bug 1027720 und Firefox Bug 1047594).
- Der HTTP/2
alt-svc
-Header wird jetzt unterstützt (Firefox Bug 1003448). - Die Erweiterung für die öffentliche Schlüsselverankerung 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 die Host-Quelle bei CSP übereinstimmt (Firefox Bug 808292).
Änderungen für Add-on- und Mozilla-Entwickler
>XUL & Add-ons
- Die private Methode
_getTabForBrowser()
des<xul:tabbrowser>
-Elements wurde veraltet. Stattdessen wurde eine neue öffentliche Methode namensgetTabForBrowser
hinzugefügt. Diese gibt, wie vorhersehbar, das<xul:tab>
-Element zurück, das das angegebene<xul:browser>
enthält. Components.utils.now()
, angepasst anPerformance.now()
, wurde für Nicht-Fenster-Chrom-Code 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, die zwischen Firefox 34 und Firefox 35 gemacht wurden. Dies schließt keine Anpassungen 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 Anpassungen ein, die nach dem Eintritt dieser Version in Aurora gemacht wurden.