Firefox 42 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 42 wurde am 3. November 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
>Entwicklertools
Höhepunkte:
- Debugging von Firefox für Android über WLAN
- Firefox OS Simulator-Konfiguration in WebIDE
- CSS-Filter-Presets
Alle zwischen Firefox 41 und Firefox 42 behobenen DevTools-Bugs.
CSS
- Vertikaler
writing-mode
wird jetzt mit rtl-Skripten unterstützt (Firefox-Bug 1131451). - Die Werte von
caption-side
sind jetzt relativ zur Tabelle und ändern ihre tatsächliche Bedeutung entsprechend ihremwriting-mode
Wert Firefox-Bug 1202993. - Nicht standardisierte Eigenschaften wie
-moz-margin-start
sind jetzt Aliase ihrer Standardgegenstücke (margin-inline-start
, …). Zuvor war es umgekehrt. Dies betrifft den vonCSSStyleDeclaration.cssText
zurückgegebenen Wert und die Iteration der Eigenschaften in einer Stilregel, die beide die kanonische Form verwenden (Firefox-Bug 1118103). - Die mit Präfix versehene Version von CSS-Gradients kann durch Setzen der
layout.css.prefixes.gradients
Einstellung auffalse
deaktiviert werden. - Mehrere alte Bugs im Zusammenhang mit
float
und dem Verhalten von Randüberlagerungen wurden behoben (Firefox-Bug 478834, Firefox-Bug 538194 und Firefox-Bug 451791).
HTML
- Experimentelle Unterstützung für das
referrer
Attribut der<img>
(Firefox-Bug 1166910),<iframe>
(Firefox-Bug 1175736),<a>
und<area>
(Firefox-Bug 1174913) wurde hinzugefügt. Standardmäßig hat dies keine Wirkung, danetwork.http.enablePerElementReferrer
standardmäßigfalse
ist.
JavaScript
- Das
Reflect
Objekt wurde implementiert (Firefox-Bug 987514). - Die Implementierung der
Proxy
handler.ownKeys()
Falle wurde aktualisiert, um der endgültigen ES2015 Spezifikation zu entsprechen (Firefox-Bug 1049662). - Aufrufe von
Map
,Set
oderWeakMap
ohnenew
, werfen jetzt einenTypeError
(Firefox-Bug 1083752).
Schnittstellen/APIs/DOM
DOM & HTML DOM
-
Bilder mit einer
id
sind nicht mehr als Eigenschaften derWindow
Schnittstelle gelistet:<img id="login">
ist nicht mehr alswindow.login
zugänglich. Dieses Verhalten wurde in Firefox 26 eingeführt und wurde entfernt, um einer späteren Änderung in der Spezifikation zu entsprechen. (Firefox-Bug 959992) -
MouseEvent.offsetX
undMouseEvent.offsetY
wurden hinzugefügt (Firefox-Bug 69787). -
Die
HTMLInputElement
Schnittstelle wurde experimentell erweitert, um den Upload von Verzeichnissen zu unterstützen (Firefox-Bug 1164310). Diese vier Mitglieder können durch Setzen derdom.input.dirpicker
Einstellung auftrue
sichtbar gemacht werden:HTMLInputElement.directory
HTMLInputElement.isFilesAndDirectoriesSupported
HTMLInputElement.getFilesAndDirectories()
HTMLInputElement.chooseDirectory()
-
Die
Directory
Schnittstelle wurde experimentell erweitert (Firefox-Bug 1177688). Die beiden MitgliederDirectory.path
undDirectory.getContents
können durch Setzen derdom.input.dirpicker
Einstellung auftrue
sichtbar gemacht werden. -
Das
HTMLMediaElement.mozSrcObject
wurde inHTMLMediaElement.srcObject
umbenannt (Firefox-Bug 1175523).
Service Workers
Request.context
wurde entfernt (Firefox-Bug 1188062).- Die Push API wurde standardmäßig für Firefox für Desktop aktiviert (Firefox-Bug 1153499), aber nur in den Nightly/Dev Edition/Beta Kanälen. Sie wird im Release-Kanal standardmäßig deaktiviert, bis Verbraucher-UX und Debugging-Funktionen ordnungsgemäß implementiert sind (Firefox-Bug 1207875.) Sie können sie trotzdem aktivieren, indem Sie die
dom.push.enabled
Einstellung inabout:config
einschalten. - Die Methode
PushManager.hasPermission()
wurde in der Spezifikation als veraltet markiert und durch die MethodePushManager.permissionState()
ersetzt. Firefox hat seine Implementierung entsprechend aktualisiert (Firefox-Bug 1183853.) - Service-Worker-bezogene Ergänzungen zur Notifications API wurden implementiert (Firefox-Bug 1114554), sind jedoch in dieser Version deaktiviert.
Web Animations API
Unsere experimentelle Implementierung der Web Animations API wurde erweitert, um zu unterstützen:
- Die
AnimationPlayer.playbackRate
Eigenschaft (Firefox-Bug 1127380). - Die
CSSAnimation
undCSSTransition
Schnittstellen (Firefox-Bug 1178186). - Die
Animation.reverse()
Methode (Firefox-Bug 1150808). - Die
AnimationPlaybackEvent
Schnittstelle wurde hinzugefügt undcancel
undfinish
werden nun aufAnimation
ausgelöst (Firefox-Bug 1178664).
Webkomponenten
Unsere experimentelle Implementierung des Shadow DOM wurde geändert:
- Beim Versuch,
Node.cloneNode()
auf einemShadowRoot
zu verwenden, wird nun eineDataCloneError
Ausnahme ausgelöst (Firefox-Bug 1176757). - Bei der Verwendung von
Document.importNode()
mit einemShadowRoot
als Argument wird nun eineNotSupportedError
DOMException
ausgelöst (Firefox-Bug 1177914). - Bei der Verwendung von
Document.adoptNode()
mit einemShadowRoot
als Argument wird nun eineHierarchyRequestError
DOMException
ausgelöst (Firefox-Bug 1177991).
WebGL
- WebGL2
WebGLTransformFeedback
wurde implementiert (Firefox-Bug 1048724). - Um einen WebGL2-Kontext zu erhalten, nimmt
HTMLCanvasElement.getContext()
jetztwebgl2
anstelle vonexperimental-webgl2
(Firefox-Bug 1187174).
WebRTC
- Der Options-Datentyp von
RTCPeerConnection.createOffer()
,RTCOfferOptions
, wurde aktualisiert, um näher an der Spezifikation zu sein. Unter anderem basiert er jetzt auf demRTCOfferAnswerOptions
Wörterbuch, das die OptionvoiceActivityDetection
bietet. - Das
RTCAnswerOptions
Wörterbuch wurde hinzugefügt. Dies ist der Typ, der für denoptions
Parameter voncreateAnswer()
verwendet wird. - Die
RTCICECandidatePairStats.mozPriority
wurde inRTCICECandidatePairStats.priority
umbenannt (Firefox-Bug 1184426).
Neue APIs
- Die
ImageBitmap
Schnittstelle, dieWindow.createImageBitmap()
undWorkerGlobalScope.createImageBitmap()
Methode wurden implementiert. Sie sind in regulären Fensterskripten und Webworkern verfügbar und ermöglichen effizientes Posten von Bildern zwischen Fenster- und Worker-Kontexten (Firefox-Bug 1044102).
Sonstiges
- Die
IDBCursorWithValue
Schnittstelle ist jetzt in Webworkern verfügbar (Firefox-Bug 1188115). - Fehler-Ereignisse, die in Webworkern gesendet werden, blubbern nicht mehr (Firefox-Bug 1188141).
- Media Source Extensions (MSE) wurden für alle Websites aktiviert und nicht mehr für eine Whitelist von Seiten (Firefox-Bug 1185611).
- Die nicht standardisierte und veraltete
Window.mozRequestAnimationFrame()
wurde entfernt (Firefox-Bug 909154). Verwenden Sie stattdessen die standardisierteWindow.requestAnimationFrame()
. - Sprachsynthese (Text-to-Speech) wurde in Firefox Desktop für Windows implementiert und hinter der
media.webspeech.synth.enabled
Flagge inabout:config
verborgen (Firefox-Bug 1003457.) Weitere Informationen finden Sie in der Web Speech API.
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
HTTP
- Firefox 41 und frühere Versionen akzeptierten irrtümlicherweise undefinierte oder ungültige Pseudo-Header-Felder in HTTP/2-Antworten. Dies wurde nun behoben, und das einzige von Firefox 42 akzeptierte Pseudo-Header-Feld ist :status, wie in der Spezifikation festgelegt. Antwort-Header, die willkürliche Felder enthalten, werden als fehlerhaft betrachtet. (Firefox-Bug 1136727)
Netzwerktechnik
- Die CSP-Direktive
upgrade-insecure-requests
wurde implementiert (Firefox-Bug 1139297).
Sicherheit
- EV-Zertifikate mit einer Gültigkeit von mehr als 39 Monaten werden jetzt als DV-Zertifikate betrachtet und behandelt (Firefox-Bug 1145679).
Änderungen für Add-on- und Mozilla-Entwickler
>Schnittstellen
nsIContentPolicy
- Die Konstante
TYPE_EMBED
wurde zunsIContentPolicy
hinzugefügt, um interne Gecko-Strukturen und Add-on-Code besser zwischen verschiedenen Anfragetypen unterscheiden zu können. Zuvor wurdeTYPE_OBJECT
für diese Fälle verwendet (Firefox-Bug 1148030). - Ebenso wurde die Konstante
TYPE_SUBDOCUMENT
inTYPE_FRAME
undTYPE_IFRAME
aufgeteilt (Firefox-Bug 1148044).
XUL
Keine Änderung.
JavaScript Code-Module
Keine Änderung.
XPCOM
Keine Änderung.
Sonstiges
Keine Änderung.