Firefox 44 für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie Firefox Developer Edition. Firefox 44 wurde am 26. Januar 2016 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
Highlights:
- Speicherwerkzeug
- Verbesserungen im Animations-Inspektor
- Neue Waterfall-Marker: DomContentLoaded, Load, Worker Messages
Alle zwischen Firefox 43 und Firefox 44 behobenen Devtools-Bugs.
HTML
- `` beachtet jetzt das Attribut
crossorigin
(Firefox-Bug 1214819).
CSS
-
position: fixed;
erzeugt jetzt immer einen neuen Stacking-Kontext (Firefox-Bug 1179288). -
Die Unterstützung von
unicode-range
wurde standardmäßig aktiviert (Firefox-Bug 1119062). -
Unsere experimentelle Implementierung der CSS-Schreibmodi wurde aktualisiert, um der neuesten Spezifikation zu entsprechen:
- Der Wert
sideways
dertext-orientation
-Eigenschaft wurde implementiert undsideways-right
wurde zu einem Alias davon (Firefox-Bug 1193488). - Die Werte
sideways-rl
undsideways-lr
derwriting-mode
-Eigenschaft (Firefox-Bug 1193488 und Firefox-Bug 1193519).
- Der Wert
-
Die nicht standardmäßigen Eigenschaften
-moz-math-display
und-moz-window-shadow
sind nicht mehr aus Web-Inhalten verfügbar (Firefox-Bug 1207002, Firefox-Bug 1211040, und Firefox-Bug 1212607). -
Die
font-style
-Eigenschaft unterscheidet nun zwischenoblique
unditalic
, wenn beide Varianten verfügbar sind (Firefox-Bug 543715). -
Obwohl nicht unterstützt, wurden die Eigenschaften
marks
,orphans
,page
,size
, undwidows
analysiert und@supports
hat sie fälschlicherweise als unterstützt gemeldet; dies wurde behoben und die Eigenschaften werden nicht mehr analysiert, noch als unterstützt markiert (Firefox-Bug 1215702). -
Der interne Wert
-moz-mac-unified-toolbar
wurde aus den möglichen Werten für dieappearance
-Eigenschaft entfernt (Firefox-Bug 1206468). -
Mehrere
-webkit
-präfixierte Eigenschaften und Werte wurden für die Web-Kompatibilität hinzugefügt, hinter der Einstellunglayout.css.prefixes.webkit
, die standardmäßig auffalse
gesetzt ist (Firefox-Bug 837211):-webkit-animation
-webkit-animation-delay
-webkit-animation-direction
-webkit-animation-duration
-webkit-animation-fill-mode
-webkit-animation-iteration-count
-webkit-animation-name
-webkit-animation-play-state
-webkit-animation-timing-function
-webkit-text-size-adjust
-webkit-transform
-webkit-transform-origin
-webkit-transform-style
-webkit-transition
-webkit-transition-delay
-webkit-transition-duration
-webkit-transition-property
-webkit-transition-timing-function
-webkit-border-radius
-webkit-border-top-left-radius
-webkit-border-top-right-radius
-webkit-border-bottom-left-radius
-webkit-border-bottom-right-radius
-webkit-appearance
-webkit-background-clip
-webkit-background-origin
-webkit-background-size
-webkit-border-image
-webkit-box-shadow
-webkit-box-sizing
-webkit-user-select
-webkit-linear-gradient()
Firefox-Bug 1210575-webkit-radial-gradient"()
Firefox-Bug 1210575-webkit-repeating-linear-gradient()
Firefox-Bug 1210575-webkit-repeating-radial-gradient()
Firefox-Bug 1210575
JavaScript
Neue APIs
Symbol.toPrimitive
,Symbol.prototype[Symbol.toPrimitive]()
undDate.prototype[Symbol.toPrimitive]()
wurden implementiert (Firefox-Bug 1054756).
Änderungen
- Die
let
undconst
Bindungen auf globaler Ebene wurden mit den ES2015-Semantiken kompatibel gemacht. Siehe Firefox-Bug 589199 und den Blogbeitrag "Breaking changes in let and const in Firefox Nightly 44". Zusätzlich istlet
jetzt standardmäßig im Web-JavaScript (strikt und nicht-strikt) verfügbar und erfordert keine Version-Opt-In mehr (Firefox-Bug 932517). - Wenn Konstruktoren von typisierten Arrays' (wie
Int8Array
) undArrayBuffer
als Funktion ohne dennew
-Operator aufgerufen werden, wird nun gemäß der ES2015-Spezifikation einTypeError
geworfen (Firefox-Bug 980945, Firefox-Bug 1214936). - Das
RegExp
-Sticky-Flag folgt nun dem ES2015-Standard für verankerte Sticky-Reguläre Ausdrücke (Firefox-Bug 773687). - Die JavaScript-Shell (Spidermonkeys REPL) verwendet jetzt standardmäßig die webkompatible JS-Version (und nicht mehr JS1.7+)(Firefox-Bug 1192329).
Entfernungen
- Die Unterstützung für die nicht standardisierten
let
Blöcke wurde entfernt (Firefox-Bug 1167029. - Die nicht standardmäßige und veraltete Eigenschaft
Object.prototype.__noSuchMethod__
wurde entfernt (Firefox-Bug 683218).
Schnittstellen/APIs/DOM
DOM & HTML DOM
- Zur Kompatibilität mit bestimmten bestehenden Websites wurde die Eigenschaft
Document.charset
als Alias fürDocument.characterSet
implementiert (Firefox-Bug 647621). - Die Unterstützung für die Methode
window.sidebar.addSearchEngine()
, mit der Webseiten die Installation eines Sherlock-Plugins auslösen konnten, wurde entfernt. Stattdessen wird eine Warnung in der Webkonsole protokolliert (Firefox-Bug 862148). - Um unerwünschte Pop-ups zu bekämpfen, werden Aufforderungen in
beforeunload
-Ereignissen von Seiten, die nicht interagiert wurden, nicht mehr angezeigt (Firefox-Bug 636905). - Die veraltete Methode
MessageEvent.initMessageEvent()
wurde aus Gründen der Rückwärtskompatibilität neu implementiert (Firefox-Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubset
wurde entfernt (Firefox-Bug 801545). - Aus Gründen der Kompatibilität mit bestehenden Websites wurden die Eigenschaft
Window.orientation
und das Ereignisorientationchange
implementiert (Firefox-Bug 920734). - Ein
<iframe>
mit einer expliziten Fullscreen-Anforderung sollte nicht automatisch den Fullscreen-Modus verlassen (Firefox-Bug 1187801). - Die Ereignisse
mouseover
,mouseout
,mouseenter
,mouseleave
,pointermove
,pointerover
,pointerout
,pointerenter
undpointerleave
werden nun bei deaktivierten Formularelementen ausgelöst (Firefox-Bug 218093). - Die Methode
Element.webkitMatchesSelector()
wurde hinzugefügt (Firefox-Bug 1216193), um die Interoperabilität zu verbessern. - Um der Spezifikation zu entsprechen, konvertiert die Methode
Document.createAttribute()
nun die Eingabe in Kleinbuchstaben (Firefox-Bug 1176313). - Das nicht standardmäßige
dialog
Feature fürWindow.open()
ist nicht mehr für Web-Inhalte verfügbar. Es ist weiterhin für Erweiterungen und anderen Code mit Chrome-Berechtigungen verfügbar (Firefox-Bug 1095236.
Canvas
- Eine neue experimentelle
OffscreenCanvas
API, die es Render-Kontexten (wie WebGL) ermöglicht, in Web Workers zu laufen, wurde implementiert. Um diese experimentelle API zu verwenden, setzen Siegfx.offscreencanvas.enabled
auftrue
in about:config (Firefox-Bug 709490). Diese API umfasst:- Das
OffscreenCanvas
Interface, HTMLCanvasElement.transferControlToOffscreen()
, undWebGLRenderingContext.commit()
.- Mehrere WebGL-Schnittstellen sind nun auch in einem Worker-Kontext verfügbar, wenn diese API aktiviert ist.
- Das
WebGL
- Uniform Buffer Objects wurden implementiert (Firefox-Bug 1048747).
IndexedDB
- Die
IDBIndex.getAll()
undIDBIndex.getAllKeys()
, und ihre Gegenstücke aufIDBObjectStore
sind jetzt standardmäßig verfügbar (Firefox-Bug 1196841).
Service Workers
- Die
ServiceWorkerMessageEvent
undExtendableMessageEvent
Schnittstellen wurden implementiert (Firefox-Bug 1143717 und Firefox-Bug 1207068). Headers
-Objekte unterstützen jetzt einen Paar-Iterator, was bedeutet, dass die MethodenHeaders.entries()
,Headers.keys()
, undHeaders.values()
nun verfügbar sind;Symbol.iterator
gibt jetzt auch den Standard-Iterator für sie zurück (Firefox-Bug 1108181).- Die
XMLHttpRequest
API wurde in Service Workern deaktiviert (Firefox-Bug 931243). - Die Schnittstelle
FetchEvent
erweitert nunExtendableEvent
, was ihr den Zugriff auf die MethodeExtendableEvent.waitUntil()
ermöglicht. (Firefox-Bug 1214772). - Nach einer kürzlichen Änderung in der Spezifikation wurde
FetchEvent.client
entfernt (Firefox-Bug 1218135). - Um der neuesten Spezifikation zu entsprechen, wurde
ServiceWorkerContainer.onreloadpage
entfernt (Firefox-Bug 1218139). - Die Ereignishandler
ServiceWorkerGlobalScope.onbeforeevicted
undServiceWorkerGlobalScope.onevicted
wurden entfernt, da sie der Spezifikation nicht folgten. Sie werden in Zukunft wieder eingeführt, aber ihre Entfernung ermöglicht es der Feature-Erkennung, wie erwartet zu funktionieren (Firefox-Bug 1218142). - Im Konstruktor
FetchEvent()
, wenn dasisReload
-Mitglied nicht im Optionswörterbuch vorhanden ist, wird es jetzt auffalse
standardmäßig gesetzt (Firefox-Bug 1216401). - Die
Client.frameType
Eigenschaft ist jetzt auf der richtigen Schnittstelle implementiert; sie war vorher aufWindowClient
(Firefox-Bug 1218146). - Wenn AppCache verwendet wird, um Offline-Unterstützung für eine Seite bereitzustellen, wird jetzt eine Warnmeldung in der Konsole angezeigt, die Entwickler darauf hinweist, stattdessen Service Workers zu verwenden (Firefox-Bug 1204581.)
- Service Workers wurden standardmäßig in Gecko aktiviert.
WebRTC
-
WebRTC-Schnittstellen wurden unpräfixiert (Firefox-Bug 1155923). Insbesondere:
mozRTCPeerConnection
ist jetztRTCPeerConnection
.mozRTCIceCandidate
ist jetztRTCIceCandidate
.mozRTCSessionDescription
ist jetztRTCSessionDescription
.
-
Die
RTCDataChannel.bufferedAmountLowThreshold
Eigenschaft, sowie dasbufferedamountlow
Ereignis und dessen Ereignishandler wurden implementiert (Firefox-Bug 1178091). -
Das Attribut
RTCPeerConnection.canTrickleIceCandidates
wurde hinzugefügt, die nicht standardisierte MethodeRTCPeerConnection.updateIce()
wurde entfernt (Firefox-Bug 1209744). -
Die
MediaStream
Schnittstelle unterstützt jetzt die MethodenMediaStream.addTrack()
undMediaStream.removeTrack()
(Firefox-Bug 1103188). -
Der Konstruktor
MediaStream()
wurde implementiert (Firefox-Bug 1070216). -
Die Unterstützung für die nicht standardisierte Constraint-Style-Optionsliste für
RTCOfferOptions
wurde entfernt.
Neue APIs
- Eine experimentelle Implementierung der Canvas-API in Workern wurde integriert:
OffscreenCanvas
undHTMLCanvasElement.transferControlToOffscreen()
sind verfügbar hinter dergfx.offscreencanvas.enabled
Einstellung, die derzeit standardmäßig deaktiviert ist (Firefox-Bug 709490). - Die Text2Speech API, Teil der Web Speech API, hat nun ein OS X-Backend. Dies ist jedoch standardmäßig deaktiviert (Firefox-Bug 1003452).
Sonstiges
URLSearchParams
-Objekte unterstützen jetzt einen Paar-Iterator, was bedeutet, dass die MethodenURLSearchParams.entries()
,URLSearchParams.keys()
, undURLSearchParams.values()
jetzt verfügbar sind;Symbol.iterator
gibt jetzt ebenfalls den Standard-Iterator für sie zurück (Firefox-Bug 1085284).FormData
-Objekte unterstützen jetzt einen Paar-Iterator, was bedeutet, dass die MethodenFormData.entries()
,FormData.keys
, undFormData.values()
jetzt verfügbar sind;Symbol.iterator
gibt jetzt ebenfalls den Standard-Iterator für sie zurück (Firefox-Bug 1127703).- Wenn
XMLHttpRequest.send()
mit einem HTML-Dokument verwendet wird, wird jetzttext/html
anstelle vonapplication/xml
verwendet (Firefox-Bug 918771). - Sprachausgabe (Text-to-Speech) wurde in Firefox Desktop für Mac und Linux implementiert, versteckt hinter dem
media.webspeech.synth.enabled
-Flag inabout:config
(Firefox-Bug 1003452, Firefox-Bug 1003464.) Siehe Web Speech API für weitere Informationen. - Elemente innerhalb eines
<frame>
oder eines<object>
können nicht mehr auf Vollbild gesetzt werden (Firefox-Bug 1212299). - Die Sanitierung von WOFF-Schriften ist ein wenig strikter geworden, was dazu führt, dass mehr fehlerhafte Schriften abgelehnt werden. Diese Sanitierung wird in Firefox 46 etwas weniger strikt (Firefox-Bug 1193050 und Firefox-Bug 1244693).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
HTTP
- Die Unterstützung für den Brotli-Algorithmus wurde hinzugefügt, und sowohl die
Accept-Encoding
als auch dieContent-Encoding
-Header unterstützen jetzt denbr
-Wert (Firefox-Bug 366559 und Firefox-Bug 1211916). - Die fehlerhafte Unterstützung von HTTP/2-Headern mit Zeilenumbrüchen (
'/n'
) wurde entfernt, da die Spezifikation dies im Gegensatz zu HTTP/1 nicht erlaubt (Firefox-Bug 1197847).
Netzwerk
Keine Änderung.
Sicherheit
- RC4 ist jetzt auch standardmäßig in den Beta- und Release-Versionen des Browsers deaktiviert (Firefox-Bug 1201025) und die Whitelist ist jetzt standardmäßig leer (Firefox-Bug 1215796).
Änderungen für Add-on- und Mozilla-Entwickler
>Schnittstellen
Keine Änderung.
XUL
Keine Änderung.
JavaScript-Code-Module
- Unterstützung für
LIKE
in Sqlite.jsm hinzugefügt (Firefox-Bug 1188760). - Das Snackbars.jsm-Modul zu Firefox für Android hinzugefügt (Firefox-Bug 1215026)
XPCOM
- Das
nsIDOMWindow
-Interface ist jetzt leer. Die Inhalte wurden entweder nicht mehr genutzt, sind woanders hingezogen oder wurden nur von C++ verwendet. Die aus C++-Code verfügbaren Elemente befinden sich jetzt im nsPIDOMWindow-Interface (Firefox-Bug 1216401).
Sonstiges
- Aufgrund der Änderungen in Firefox 44 (Bug 1202902) funktionieren Add-ons, die mit cfx gepackt wurden, nicht mehr. Um Ihr Add-on wieder kompatibel zu machen, verwenden Sie bitte jpm. Siehe den cfx zu jpm Umstiegs-Leitfaden.