Firefox 44 Versionshinweise für Entwickler
Um die neuesten Entwicklerfunktionen von Firefox zu testen, installieren Sie die Firefox Developer Edition. Firefox 44 wurde am 26. Januar 2016 veröffentlicht. Dieser Artikel listet die wichtigsten Ä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
>Entwickler-Tools
Höhepunkte:
- Speicher-Tool
- Verbesserungen des Animationsinspektors
- Neue Wasserfall-Markierungen: DomContentLoaded, load, worker messages
Alle Devtools-Fehler, die zwischen Firefox 43 und Firefox 44 behoben wurden.
HTML
- `` beachtet jetzt das
crossorigin-Attribut (Firefox Bug 1214819).
CSS
-
position: fixed;erzeugt jetzt immer einen neuen Stapelkontext (Firefox Bug 1179288). -
Die Unterstützung von
unicode-rangewurde standardmäßig aktiviert (Firefox Bug 1119062). -
Unsere experimentelle Implementierung der CSS-Schreibmodi wurde aktualisiert, um die neueste Spezifikation widerzuspiegeln:
- Der Wert
sidewaysder Eigenschafttext-orientationwurde implementiert undsideways-rightals Alias dafür eingeführt (Firefox Bug 1193488). - Die Werte
sideways-rlundsideways-lrder Eigenschaftwriting-mode(Firefox Bug 1193488 und Firefox Bug 1193519).
- Der Wert
-
Die nicht standardisierten Eigenschaften
-moz-math-displayund-moz-window-shadowsind nicht mehr aus Web-Inhalten verfügbar (Firefox Bug 1207002, Firefox Bug 1211040, und Firefox Bug 1212607). -
Die Eigenschaft
font-styleunterscheidet jetzt zwischenobliqueunditalic, wenn beide Varianten verfügbar sind (Firefox Bug 543715). -
Obwohl nicht unterstützt, wurden die Eigenschaften
marks,orphans,page,size, undwidowsanalysiert und@supportshat sie fälschlicherweise als unterstützt gemeldet; dies wurde behoben und die Eigenschaften werden nicht mehr analysiert oder als unterstützt markiert (Firefox Bug 1215702). -
Der interne Wert
-moz-mac-unified-toolbarwurde aus den möglichen Werten für die Eigenschaftappearanceentfernt (Firefox Bug 1206468). -
Mehrere
-webkit-präfixierte Eigenschaften und Werte wurden zur Web-Kompatibilität hinzugefügt, hinter der Präferenzlayout.css.prefixes.webkit, die standardmäßig auffalsegesetzt 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 Bindungen
letundconstauf globaler Ebene wurden den ES2015-Semantiken entsprechend angepasst. Siehe Firefox Bug 589199 und den Blogbeitrag "Breaking changes in let and const in Firefox Nightly 44". Zusätzlich istletjetzt für Standard-Web-JavaScript (strict und non-strict) verfügbar und erfordert keine Versionsauswahl mehr (Firefox Bug 932517). - Wenn Konstruktoren von typisierten Arrays' (wie
Int8Array) undArrayBuffer) als Funktion ohne dennew-Operator aufgerufen werden, wird jetzt einTypeErrorausgelöst, wie in der ES2015-Spezifikation festgelegt (Firefox Bug 980945, Firefox Bug 1214936). - Das
RegExpSticky-Flag folgt jetzt dem ES2015-Standard für gekoppelte Sticky-Regulärausdrücke (Firefox Bug 773687). - Die JavaScript-Shell (Spidermonkeys REPL) verwendet nun standardmäßig die standardmäßige, Web-kompatible 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 standardisierte und veraltete Eigenschaft
Object.prototype.__noSuchMethod__wurde entfernt (Firefox Bug 683218).
Schnittstellen/APIs/DOM
DOM & HTML DOM
- Aus Kompatibilitätsgründen mit bestimmten bestehenden Sites wurde die Eigenschaft
Document.charsetals Alias vonDocument.characterSetimplementiert (Firefox Bug 647621). - Die Unterstützung für die Methode
window.sidebar.addSearchEngine(), die es Webseiten ermöglichte, die Installation eines Sherlock-Plugins aufzurufen, wurde entfernt und jetzt wird nur eine Warnung in der Webkonsole ausgegeben (Firefox Bug 862148). - Um unerwünschte Pop-ups zu bekämpfen, werden Aufforderungen, die in
beforeunload-Ereignissen von Seiten angefordert werden, mit denen nicht interagiert wurde, nicht mehr angezeigt (Firefox Bug 636905). - Die veraltete Methode
MessageEvent.initMessageEvent()wurde zur Aufrechterhaltung der Abwärtskompatibilität erneut implementiert (Firefox Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubsetwurde entfernt (Firefox Bug 801545). - Für die Kompatibilität mit bestehenden Sites wurden die
Window.orientation-Eigenschaft und dasorientationchange-Ereignis implementiert (Firefox Bug 920734). - Ein
<iframe>mit expliziter Vollbildanforderung sollte nicht implizit im Vollbildmodus verlassen werden (Firefox Bug 1187801). - Die Ereignisse
mouseover,mouseout,mouseenter,mouseleave,pointermove,pointerover,pointerout,pointerenterundpointerleavewerden nun für deaktivierte Formularelemente ausgelöst (Firefox Bug 218093). - Die Methode
Element.webkitMatchesSelector()wurde hinzugefügt (Firefox Bug 1216193), um die Interoperabilität zu verbessern. - Um den Spezifikationen zu entsprechen, konvertiert die Methode
Document.createAttribute()die Eingabe jetzt in Kleinbuchstaben (Firefox Bug 1176313). - Das nicht standardisierte
dialog-Feature fürWindow.open()ist nicht mehr für Web-Inhalte verfügbar. Es ist weiterhin für Erweiterungen und andere Codes mit Chrome-Berechtigungen verfügbar (Firefox Bug 1095236.
Canvas
- Eine neue experimentelle
OffscreenCanvas-API, die es ermöglicht, dass Rendering-Kontexte (wie WebGL) in Web Workern ausgeführt werden, wurde implementiert. Um diese experimentelle API zu verwenden, setzen Siegfx.offscreencanvas.enabledauftruein about:config (Firefox Bug 709490). Diese API umfasst:- Das
OffscreenCanvas-Interface, HTMLCanvasElement.transferControlToOffscreen(), undWebGLRenderingContext.commit().- Mehrere WebGL-Schnittstellen sind jetzt auch im Worker-Kontext verfügbar, wenn diese API aktiviert ist.
- Das
WebGL
- Uniform Buffer Objects wurden implementiert (Firefox Bug 1048747).
IndexedDB
- Die Methoden
IDBIndex.getAll()undIDBIndex.getAllKeys()sowie ihre Gegenstücke aufIDBObjectStoresind jetzt standardmäßig verfügbar (Firefox Bug 1196841).
Service Workers
- Die Schnittstellen
ServiceWorkerMessageEventundExtendableMessageEventwurden 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()jetzt verfügbar sind;Symbol.iteratorgibt nun auch den Standarditerator für sie zurück (Firefox Bug 1108181).- Die
XMLHttpRequest-API wurde auf Service Workern deaktiviert (Firefox Bug 931243). - Die Schnittstelle
FetchEventerweitert jetztExtendableEvent, wodurch sie Zugriff auf die MethodeExtendableEvent.waitUntil()hat. (Firefox Bug 1214772). - Nach einer kürzlichen Änderung in der Spezifikation wurde
FetchEvent.cliententfernt (Firefox Bug 1218135). - Um der neuesten Spezifikation zu entsprechen, wurde
ServiceWorkerContainer.onreloadpageentfernt (Firefox Bug 1218139). - Die Ereignishandler
ServiceWorkerGlobalScope.onbeforeevictedundServiceWorkerGlobalScope.onevictedwurden entfernt, da sie der Spezifikation nicht entsprachen. Sie werden in Zukunft wieder eingeführt, aber ihre Entfernung ermöglicht, dass die Feature-Erkennung wie erwartet funktioniert (Firefox Bug 1218142). - Im Konstruktor
FetchEvent()wird, wenn das MitgliedisReloadnicht im Options-Wörterbuch vorhanden ist, jetzt standardmäßigfalsegesetzt (Firefox Bug 1216401). - Die Eigenschaft
Client.frameTypewird jetzt auf der richtigen Schnittstelle implementiert; sie befand sich vorher inWindowClient(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 Entwicklern rät, stattdessen Service Workers zu verwenden (Firefox Bug 1204581.)
- Service Worker wurden standardmäßig in Gecko aktiviert.
WebRTC
-
Die WebRTC-Schnittstellen wurden unverändert (Firefox Bug 1155923). Insbesondere:
mozRTCPeerConnectionist jetztRTCPeerConnection.mozRTCIceCandidateist jetztRTCIceCandidate.mozRTCSessionDescriptionist jetztRTCSessionDescription.
-
Die Eigenschaft
RTCDataChannel.bufferedAmountLowThresholdsowie dasbufferedamountlow-Ereignis und sein Ereignishandler wurden implementiert (Firefox Bug 1178091). -
Das Attribut
RTCPeerConnection.canTrickleIceCandidateswurde 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 standardisierten Constraint-Style-Optionenliste für
RTCOfferOptionswurde entfernt.
Neue APIs
- Eine experimentelle Implementierung der Canvas-API in Workern wurde eingeführt:
OffscreenCanvasundHTMLCanvasElement.transferControlToOffscreen()sind hinter dergfx.offscreencanvas.enabled-Präferenz verfügbar, die standardmäßig deaktiviert ist (Firefox Bug 709490). - Die Text2Speech-API, Teil der Web Speech API, hat jetzt ein OS X Backend. Dies ist jedoch standardmäßig deaktiviert (Firefox Bug 1003452).
Verschiedenes
URLSearchParams-Objekte unterstützen jetzt einen Paar-Iterator, was bedeutet, dass die MethodenURLSearchParams.entries(),URLSearchParams.keys()undURLSearchParams.values()jetzt verfügbar sind;Symbol.iteratorgibt nun auch den Standarditerator für sie zurück (Firefox Bug 1085284).FormData-Objekte unterstützen jetzt einen Paar-Iterator, was bedeutet, dass die MethodenFormData.entries(),FormData.keysundFormData.values()jetzt verfügbar sind;Symbol.iteratorgibt nun auch den Standarditerator für sie zurück (Firefox Bug 1127703).- Wenn
XMLHttpRequest.send()mit einem HTML-Dokument verwendet wird, wird jetzttext/htmlanstelle vonapplication/xmlverwendet (Firefox Bug 918771). - Sprachsynthese (Text-zu-Sprache) wurde in Firefox Desktop für Mac und Linux implementiert, hinter der
media.webspeech.synth.enabled-Flag inabout:configversteckt (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 im Vollbildmodus gesetzt werden (Firefox Bug 1212299). - Die Validierung von WOFF-Schriftarten ist etwas strenger, was dazu führt, dass mehr falsche Schriftarten abgelehnt werden, diese Validierung wird in Firefox 46 etwas weniger streng (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 der
Accept-Encoding- als auch derContent-Encoding-Header unterstützen jetzt denbr-Wert (Firefox Bug 366559 und Firefox Bug 1211916). - Die falsche Unterstützung von HTTP/2-Headern, die Zeilenumbrüche (
'/n') enthalten, wurde entfernt, da die Spezifikation dies nicht erlaubt, im Gegensatz zu HTTP/1 (Firefox Bug 1197847).
Netzwerke
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
LIKE-Unterstützung zu Sqlite.jsm hinzugefügt (Firefox Bug 1188760).- Das Snackbars.jsm-Modul für Firefox für Android hinzugefügt (Firefox Bug 1215026)
XPCOM
- Das
nsIDOMWindow-Interface ist jetzt leer. Seine Inhalte wurden entweder nicht mehr verwendet, sind woanders hin verschoben worden oder wurden nur von C++ aus verwendet. Die in C++-Code verfügbaren Elemente befinden sich jetzt im nsPIDOMWindow-Interface (Firefox Bug 1216401).
Sonstiges
- Aufgrund von Änderungen in Firefox 44 (Bug 1202902) funktionieren mit cfx gepackte Add-ons nicht mehr. Um Ihr Add-on wieder kompatibel zu machen, verwenden Sie bitte jpm. Siehe den cfx zu jpm Migrationsleitfaden.