Firefox 42 Versionshinweise 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, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Höhepunkte:
- Debugging von Firefox für Android über WLAN
- Konfiguration des Firefox OS Simulators in WebIDE
- CSS-Filtervorlagen
Alle Devtools-Bugs, die zwischen Firefox 41 und Firefox 42 behoben wurden.
CSS
- Vertikale
writing-modewerden jetzt mit RTL-Skripten unterstützt (Firefox-Bug 1131451). - Die Werte von
caption-sidesind jetzt relativ zur Tabelle und ändern ihre tatsächliche Bedeutung entsprechend dem Wert vonwriting-modeFirefox-Bug 1202993. - Nicht standardmäßige Eigenschaften wie
-moz-margin-startsind jetzt Aliase ihres standardmäßigen Gegenstücks (margin-inline-start, …). Zuvor war es umgekehrt. Dies betrifft den Wert, der vonCSSStyleDeclaration.cssTextzurückgegeben wird, und die Iteration der Eigenschaften in einer Stilregel, die beide die kanonische Form verwenden (Firefox-Bug 1118103). - Die vorgezogene Version von CSS-Gradienten kann deaktiviert werden, indem die Einstellung
layout.css.prefixes.gradientsauffalsegesetzt wird. - Mehrere alte Bugs im Zusammenhang mit
floatund dem Verhalten von Margin Collapse wurden behoben (Firefox-Bug 478834, Firefox-Bug 538194 und Firefox-Bug 451791).
HTML
- Experimentelle Unterstützung für das
referrer-Attribut des<img>(Firefox-Bug 1166910),<iframe>(Firefox-Bug 1175736),<a>und<area>(Firefox-Bug 1174913) wurde hinzugefügt. Es gibt keine Wirkung standardmäßig, danetwork.http.enablePerElementReferrerstandardmäßig auffalsesteht.
JavaScript
- Das
Reflect-Objekt wurde implementiert (Firefox-Bug 987514). - Die Implementierung des
Proxyhandler.ownKeys()-Traps wurde aktualisiert, um der endgültigen ES2015-Spezifikation zu entsprechen (Firefox-Bug 1049662). - Das Aufrufen von
Map,SetoderWeakMapohnenewführt jetzt zu einemTypeError(Firefox-Bug 1083752).
Schnittstellen/APIs/DOM
DOM & HTML DOM
-
Bilder mit einer
idsind nicht mehr als Eigenschaft derWindow-Schnittstelle aufgeführt:<img id="login">ist nicht mehr alswindow.loginzugä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.offsetXundMouseEvent.offsetYwurden hinzugefügt (Firefox-Bug 69787). -
Die
HTMLInputElement-Schnittstelle wurde experimentell erweitert, um das Hochladen von Verzeichnissen zu ermöglichen (Firefox-Bug 1164310). Diese vier Mitglieder können angezeigt werden, indem die Präferenzdom.input.dirpickerauftruegesetzt wird:HTMLInputElement.directoryHTMLInputElement.isFilesAndDirectoriesSupportedHTMLInputElement.getFilesAndDirectories()HTMLInputElement.chooseDirectory()
-
Die
Directory-Schnittstelle wurde experimentell erweitert (Firefox-Bug 1177688). Die beiden MitgliederDirectory.pathundDirectory.getContentskönnen angezeigt werden, indem die Präferenzdom.input.dirpickerauftruegesetzt wird. -
Das
HTMLMediaElement.mozSrcObjectwurde inHTMLMediaElement.srcObjectumbenannt (Firefox-Bug 1175523).
Service Workers
Request.contextwurde entfernt (Firefox-Bug 1188062).- Die Push API wurde standardmäßig in Firefox für Desktop aktiviert (Firefox-Bug 1153499), jedoch nur in den Nightly/Dev Edition/Beta-Kanälen. Sie wird standardmäßig im Release-Kanal deaktiviert, bis die Benutzererfahrung und Debugging-Funktionen ordnungsgemäß implementiert wurden (Firefox-Bug 1207875.) Sie können sie dennoch aktivieren, indem Sie die
dom.push.enabledPräferenz inabout:configaktivieren. - Die Methode
PushManager.hasPermission()wurde im Standard als veraltet markiert und durch die MethodePushManager.permissionState()ersetzt. Firefox hat seine Implementierung entsprechend aktualisiert (Firefox-Bug 1183853.) - Ergänzungen zur Notifications API im Zusammenhang mit Service-Workers wurden implementiert (Firefox-Bug 1114554), sind jedoch in dieser Version deaktiviert.
Web Animations API
Unsere experimentelle Implementierung der Web Animations API wurde erweitert, um Folgendes zu unterstützen:
- Die
AnimationPlayer.playbackRate-Eigenschaft (Firefox-Bug 1127380). - Die
CSSAnimationundCSSTransition-Schnittstellen (Firefox-Bug 1178186). - Die Methode
Animation.reverse()(Firefox-Bug 1150808). - Die
AnimationPlaybackEvent-Schnittstelle wurde hinzugefügt undcancelsowiefinishwerden jetzt aufAnimationausgelöst (Firefox-Bug 1178664).
Web Components
Unsere experimentelle Implementierung des Shadow DOM wurde modifiziert:
- Beim Versuch,
Node.cloneNode()auf einemShadowRootaufzurufen, wird eineDataCloneError-Ausnahme ausgelöst (Firefox-Bug 1176757). - Beim Aufruf von
Document.importNode()mit einemShadowRootals Argument wird jetzt eineNotSupportedError-DOMExceptionausgelöst (Firefox-Bug 1177914). - Beim Aufruf von
Document.adoptNode()mit einemShadowRootals Argument wird jetzt eineHierarchyRequestError-DOMExceptionausgelöst (Firefox-Bug 1177991).
WebGL
- WebGL2
WebGLTransformFeedbackwurde implementiert (Firefox-Bug 1048724). - Um einen WebGL2-Kontext zu erhalten, nimmt
HTMLCanvasElement.getContext()jetztwebgl2anstelle vonexperimental-webgl2(Firefox-Bug 1187174).
WebRTC
- Der
options-Datentyp vonRTCPeerConnection.createOffer(),RTCOfferOptions, wurde aktualisiert, um näher an der Spezifikation zu liegen. Unter anderem basiert es jetzt auf demRTCOfferAnswerOptions-Wörterbuch, das dievoiceActivityDetection-Option bietet. - Das
RTCAnswerOptions-Wörterbuch wurde hinzugefügt. Dies ist der Typ, der für denoptions-Parameter increateAnswer()verwendet wird. - Das
RTCICECandidatePairStats.mozPrioritywurde inRTCICECandidatePairStats.priorityumbenannt (Firefox-Bug 1184426).
Neue APIs
- Die
ImageBitmap-Schnittstelle, die MethodeWindow.createImageBitmap()undWorkerGlobalScope.createImageBitmap()wurden implementiert. Sie sind in regulären Fenster-Skripten und Web-Workern verfügbar und ermöglichen ein effizientes Posten von Bildern zwischen Fenster- und Worker-Kontexten (Firefox-Bug 1044102).
Verschiedenes
- Die
IDBCursorWithValue-Schnittstelle ist jetzt in Web Workern verfügbar (Firefox-Bug 1188115). - Fehlerereignisse, die in Web Workern gesendet werden, blubbern nicht mehr (Firefox-Bug 1188141).
- Media Source Extensions (MSE) wurde für alle Websites aktiviert und nicht mehr für eine White-List von Websites (Firefox-Bug 1185611).
- Die nicht standardmäßige und veraltete
Window.mozRequestAnimationFrame()wurde entfernt (Firefox-Bug 909154). Verwenden Sie stattdessen die standardmäßigeWindow.requestAnimationFrame(). - Sprachsynthese (Text-zu-Sprache) wurde in Firefox Desktop für Windows implementiert, versteckt hinter dem
media.webspeech.synth.enabledSchalter inabout:config(Firefox-Bug 1003457.) Siehe Web Speech API für weitere Informationen.
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
HTTP
- Firefox 41 und frühere Versionen akzeptierten fälschlicherweise undefinierte oder ungültige Pseudo-Header-Felder in HTTP/2-Antworten. Dies ist nun behoben, und das einzige Pseudo-Header-Feld, das ab Firefox 42 akzeptiert wird, ist wie in der Spezifikation :status. Antwort-Header, die beliebige Felder enthalten, werden als fehlerhaft betrachtet. (Firefox-Bug 1136727)
Netzwerk
- Die CSP-Direktive
upgrade-insecure-requestswurde 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_EMBEDwurde zunsIContentPolicyhinzugefügt, um Gecko-Interna und Add-on-Code eine bessere Differenzierung verschiedener Anfragetypen zu ermöglichen. Zuvor wurdeTYPE_OBJECTfür diese Fälle verwendet (Firefox-Bug 1148030). - Ebenso wurden die
TYPE_SUBDOCUMENT-Konstanten inTYPE_FRAMEundTYPE_IFRAMEaufgeteilt (Firefox-Bug 1148044).
XUL
Keine Änderung.
JavaScript-Code-Module
Keine Änderung.
XPCOM
Keine Änderung.
Sonstiges
Keine Änderung.