Firefox 44 Versionshinweise für Entwickler
Testen Sie die neuesten Entwicklerfunktionen von Firefox, indem Sie die Firefox Developer Edition installieren. 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 für Add-on-Entwickler.
Änderungen für Webentwickler
>Entwicklertools
Höhepunkte:
- Speicherwerkzeug
- Verbesserungen beim Animationsinspektor
- Neue Wasserfallmarkierungen: DomContentLoaded, load, worker messages
Alle zwischen Firefox 43 und Firefox 44 behobenen Entwicklertools-Bugs.
HTML
- `` gehorcht nun dem
crossoriginAttribut (Firefox-Bug 1214819).
CSS
-
position: fixed;erstellt jetzt immer einen neuen Stapelkontext (Firefox-Bug 1179288). -
Die Unterstützung von
unicode-rangewurde standardmäßig aktiviert (Firefox-Bug 1119062). -
Unsere experimentelle Implementierung von CSS-Schreibmodi wurde aktualisiert, um die neueste Spezifikation widerzuspiegeln:
- Der Wert
sidewaysdertext-orientation-Eigenschaft wurde implementiert undsideways-rightwurde ein Alias davon gemacht (Firefox-Bug 1193488). - Die Werte
sideways-rlundsideways-lrderwriting-mode-Eigenschaft (Firefox-Bug 1193488 und Firefox-Bug 1193519).
- Der Wert
-
Die nicht standardisierten Eigenschaften
-moz-math-displayund-moz-window-shadowsind im Webinhalt nicht mehr verfügbar (Firefox-Bug 1207002, Firefox-Bug 1211040 und Firefox-Bug 1212607). -
Die
font-style-Eigenschaft unterscheidet jetzt zwischenobliqueunditalic, wenn beide Varianten verfügbar sind (Firefox-Bug 543715). -
Obwohl nicht unterstützt, wurden die Eigenschaften
marks,orphans,page,size, undwidowsanalysiert und@supportsberichtete fälschlicherweise, dass sie unterstützt werden; 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 dieappearance-Eigenschaft entfernt (Firefox-Bug 1206468). -
Mehrere
-webkit-präfixierte Eigenschaften und Werte wurden aus Gründen der Webkompatibilität hinzugefügt, hinter der Einstellunglayout.css.prefixes.webkit, die standardmäßigfalseist (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
letundconstBindungen auf globaler Ebene wurden an die ES2015-Semantik angepasst. Siehe Firefox-Bug 589199 und den Blogeintrag "Breaking changes in let and const in Firefox Nightly 44". Zusätzlich istletjetzt für standardmäßiges Web-JavaScript (strikt und nicht strikt) verfügbar und erfordert keine Versions-Opt-In mehr (Firefox-Bug 932517). - Wenn Konstruktoren von typisierten Arrays' (wie
Int8ArrayundArrayBuffer) als Funktion ohne dennew-Operator aufgerufen werden, wird jetzt einTypeErrorgemäß der ES2015-Spezifikation ausgelöst (Firefox-Bug 980945, Firefox-Bug 1214936). - Die
RegExpSchalteroptionstickyfolgt jetzt dem ES2015-Standard für verankerte sticky reguläre Ausdrücke (Firefox-Bug 773687). - Die JavaScript-Shell (SpiderMonkeys REPL) verwendet jetzt standardmäßig die standardmäßig Web-kompatible JS-Version (und nicht mehr JS1.7+) (Firefox-Bug 1192329).
Entfernungen
- Die Unterstützung für die nicht standardisierte
let-Blöcke wurde eingestellt (Firefox-Bug 1167029). - Die nicht standardisierte und veraltete Eigenschaft
Object.prototype.__noSuchMethod__wurde entfernt (Firefox-Bug 683218).
Schnittstellen/APIs/DOM
DOM & HTML DOM
- Für die Kompatibilität mit bestimmten vorhandenen Websites wurde die Eigenschaft
Document.charsetals Alias vonDocument.characterSetimplementiert (Firefox-Bug 647621). - Die Unterstützung für die Methode
window.sidebar.addSearchEngine(), die es Webseiten erlaubte, die Installation eines Sherlock-Plugins zu initiieren, wurde eingestellt und jetzt wird nur eine Warnung in der Webkonsole protokolliert (Firefox-Bug 862148). - Um unerwünschte Pop-ups zu bekämpfen, werden Meldungen, die in
beforeunloadEreignissen von Seiten angefordert werden, mit denen keine Interaktion stattfand, nicht mehr angezeigt (Firefox-Bug 636905). - Die veraltete Methode
MessageEvent.initMessageEvent()wurde zur Abwärtskompatibilität reimplementiert (Firefox-Bug 949376). - Die veraltete Eigenschaft
DocumentType.internalSubsetwurde entfernt (Firefox-Bug 801545). - Zur Kompatibilität mit bestehenden Websites wurden die Eigenschaft
Window.orientationund das Ereignisorientationchangeimplementiert (Firefox-Bug 920734). - Ein
<iframe>mit einer expliziten Vollbildanforderung sollte nicht implizit aus dem Vollbildmodus austreten (Firefox-Bug 1187801). - Die Ereignisse
mouseover,mouseout,mouseenter,mouseleave,pointermove,pointerover,pointerout,pointerenterundpointerleavewerden jetzt 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. - Zur Anpassung an die Spezifikation konvertiert die Methode
Document.createAttribute()jetzt die Eingabe in Kleinbuchstaben (Firefox-Bug 1176313). - Das nicht standardisierte
dialog-Feature fürWindow.open()ist im Webinhalt nicht mehr verfügbar. Es ist weiterhin für Erweiterungen und anderen Code mit Chrome-Privilegien verfügbar (Firefox-Bug 1095236).
Canvas
- Eine neue experimentelle
OffscreenCanvasAPI, die es Renderer-Kontexten (wie z.B. im WebGL) ermöglicht, in Webarbeitern zu laufen, wurde implementiert. Um diese experimentelle API zu verwenden, setzen Siegfx.offscreencanvas.enabledauftruein about:config (Firefox-Bug 709490). Diese API beinhaltet:- Die
OffscreenCanvas-Schnittstelle, HTMLCanvasElement.transferControlToOffscreen(), undWebGLRenderingContext.commit().- Mehrere WebGL-Schnittstellen sind jetzt auch in einem Arbeiterkontext verfügbar, wenn diese API aktiviert ist.
- Die
WebGL
- Unform-Pufferobjekte wurden implementiert (Firefox-Bug 1048747).
IndexedDB
- Die Methoden
IDBIndex.getAll()undIDBIndex.getAllKeys(), sowie ihre Gegenstücke aufIDBObjectStore, sind 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, das bedeutet, dass die MethodenHeaders.entries(),Headers.keys()undHeaders.values()jetzt verfügbar sind;Symbol.iteratorliefert now auch den Standarditerator für sie (Firefox-Bug 1108181).- Die
XMLHttpRequestAPI wurde in Service Workern deaktiviert (Firefox-Bug 931243). - Die Schnittstelle
FetchEventerweitert jetztExtendableEvent, was ihr Zugriff auf die MethodeExtendableEvent.waitUntil()gibt. (Firefox-Bug 1214772). - Nach einer kürzlich erfolgten Ä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 nicht der Spezifikation folgten. Sie werden in Zukunft wieder eingeführt, aber ihre Entfernung ermöglicht eine ordnungsgemäße Erkennung von Funktionen (Firefox-Bug 1218142). - Im Konstruktor
FetchEvent(), wenn dasisReload-Element im Optionswörterbuch nicht vorhanden ist, wird es jetzt auffalsegesetzt (Firefox-Bug 1216401). - Die Eigenschaft
Client.frameTypeist jetzt auf der richtigen Schnittstelle implementiert; sie war zuvor aufWindowClient(Firefox-Bug 1218146). - Wenn AppCache verwendet wird, um Offline-Unterstützung für eine Seite zu bieten, wird jetzt eine Warnmeldung in der Konsole angezeigt, die Entwickler dazu auffordert, Service Worker stattdessen zu verwenden (Firefox-Bug 1204581).
- Service Worker sind standardmäßig in Gecko aktiviert.
WebRTC
-
WebRTC-Schnittstellen wurden unpräfixiert (Firefox-Bug 1155923). Insbesondere:
mozRTCPeerConnectionist jetztRTCPeerConnection.mozRTCIceCandidateist jetztRTCIceCandidate.mozRTCSessionDescriptionist jetztRTCSessionDescription.
-
Die Eigenschaft
RTCDataChannel.bufferedAmountLowThreshold, sowie dasbufferedamountlowEreignis 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 Schnittstelle
MediaStreamunterstü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 Einschränkungsstile-Optionsliste für
RTCOfferOptionswurde entfernt.
Neue APIs
- Eine experimentelle Implementierung der Canvas API in Arbeitern wurde eingeführt:
OffscreenCanvasundHTMLCanvasElement.transferControlToOffscreen()sind hinter der Einstellunggfx.offscreencanvas.enabled, derzeit standardmäßig deaktiviert (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).
Verschiedenes
URLSearchParams-Objekte unterstützen jetzt einen Paar-Iterator, das bedeutet, dass die MethodenURLSearchParams.entries(),URLSearchParams.keys()undURLSearchParams.values()jetzt verfügbar sind;Symbol.iteratorliefert jetzt auch den Standarditerator für sie (Firefox-Bug 1085284).FormData-Objekte unterstützen jetzt einen Paar-Iterator, das bedeutet, dass die MethodenFormData.entries(),FormData.keysundFormData.values()jetzt verfügbar sind;Symbol.iteratorliefert jetzt auch den Standarditerator für sie (Firefox-Bug 1127703).- Wenn
XMLHttpRequest.send()mit einem HTML-Dokument verwendet wird, verwendet es jetzttext/htmlanstelle vonapplication/xml(Firefox-Bug 918771). - Sprachsynthese (Text-zu-Sprache) wurde in Firefox Desktop für Mac und Linux implementiert, versteckt hinter der Einstellung
media.webspeech.synth.enabledinabout:config(Firefox-Bug 1003452, Firefox-Bug 1003464). Siehe Web Speech API für mehr Informationen. - Elemente innerhalb eines
<frame>oder eines<object>können nicht mehr in den Vollbildmodus gesetzt werden (Firefox-Bug 1212299). - Die Sanitierung von WOFF-Schriften ist etwas strenger, was dazu führt, dass mehr fehlerhafte Schriftarten abgelehnt werden, diese Sanitierung wird in Firefox 46 teilweise gelockert (Firefox-Bug 1193050 und Firefox-Bug 1244693).
MathML
Keine Änderungen.
SVG
Keine Änderungen.
Audio/Video
Keine Änderungen.
HTTP
- Unterstützung für den Brotli-Algorithmus wurde hinzugefügt und sowohl die
Accept-Encodingals auch dieContent-Encoding-Header unterstützen jetzt den Wertbr(Firefox-Bug 366559 und Firefox-Bug 1211916). - Falsche 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).
Netzwerktechnik
Keine Änderungen.
Sicherheit
- RC4 ist jetzt standardmäßig auch in den Beta- und Release-Versionen des Browsers deaktiviert (Firefox-Bug 1201025) und die Whitelist ist standardmäßig leer (Firefox-Bug 1215796).
Änderungen für Add-on- und Mozilla-Entwickler
>Schnittstellen
Keine Änderungen.
XUL
Keine Änderungen.
JavaScript-Code-Module
LIKE-Unterstützung wurde zu Sqlite.jsm hinzugefügt (Firefox-Bug 1188760).- Das Snackbars.jsm-Modul wurde zu Firefox für Android hinzugefügt (Firefox-Bug 1215026).
XPCOM
- Die
nsIDOMWindow-Schnittstelle ist jetzt leer. Ihr Inhalt wurde entweder nicht mehr verwendet, war woanders hin verschoben worden oder wurde nur aus C++ verwendet. Die aus C++-Code verfügbaren Elemente befinden sich jetzt in der nsPIDOMWindow-Schnittstelle (Firefox-Bug 1216401).
Sonstiges
- Aufgrund von breaking changes 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 Migrationsleitfaden.