Firefox 38 Versionshinweise für Entwickler
Firefox 38 wurde am 12. Mai 2015 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Entwickler von Firefox und Gecko sowie für Add-on-Entwickler.
Änderungen für Webentwickler
>Entwickler-Tools
Höhepunkte:
- Umgehen von Audio-Knoten im Web Audio Editor
- „copy“-Befehl in der Web-Konsole
- Hervorheben und Filtern von XmlHttpRequests in der Web-Konsole
- Anzeigen von optimiert-wegvariablen im Debugger
- Sicherheitswarnungen im Netzwerk-Monitor anzeigen
- Übertragene Größen im Netzwerk-Monitor anzeigen
- Alle Animationen auf der Seite abspielen/pausieren
Alle Devtools-Bugs, die zwischen Firefox 37 und Firefox 38 behoben wurden.
CSS
-
Unterstützung für
ruby-positionundruby-alignwurde hinzugefügt und ist standardmäßig verfügbar (Firefox-Bug 1055676 Firefox-Bug 1123917 und Firefox-Bug 1039006). -
Die
:unresolvedPseudoklasse wurde für benutzerdefinierte Elemente implementiert (Firefox-Bug 1111633). -
Der vordefinierte Stil
ethiopic-numericverwendet nun ein Leerzeichen anstelle eines Punkts als Suffix, um einer kürzlichen Änderung der Spezifikation zu entsprechen (Firefox-Bug 1120721). -
CSS-Transitionen bei erzeugtem Inhalt (mit
::beforeund::after) sowohl bei einem Inline-Element als auch dem Block, der sie trennt, starten jetzt wie in der Spezifikation erwartet (Firefox-Bug 1110277). -
Die Umsetzung von CSS Logical Properties hat große Fortschritte gemacht. Die folgenden Eigenschaften sind hinter dem Flag
layout.css.vertical-text.enabledverfügbar (falsestandardmäßig):- Richtungsunabhängige Äquivalente von
widthundheight:block-sizeundinline-size(Firefox-Bug 1117983). - Richtungsunabhängige Äquivalente von
min-widthundmin-height:min-block-sizeundmin-inline-size(Firefox-Bug 1117983). - Richtungsunabhängige Äquivalente von
max-widthundmax-height:max-block-sizeundmax-block-size(Firefox-Bug 1117983). - Richtungsunabhängige Äquivalente von
margin-top,margin-right,margin-bottomundmargin-left:margin-block-start,margin-block-end,margin-inline-startundmargin-inline-end(Firefox-Bug 649142). - Richtungsunabhängige Äquivalente von
padding-top,padding-right,padding-bottomundpadding-left:padding-block-start,padding-block-end,padding-inline-startundpadding-inline-end(Firefox-Bug 649142). - Richtungsunabhängige Äquivalente von
border-top,border-right,border-bottomundborder-leftund deren Unterschlüssel für Breite, Stil und Farbe:border-block-start,border-block-start-width,border-block-start-style,border-block-start-color,border-block-end,border-block-end-width,border-block-end-style,border-block-end-color,border-inline-start,border-inline-start-width,border-inline-start-style,border-inline-start-color,border-inline-end,border-inline-end-width,border-inline-end-styleundborder-inline-end-color(Firefox-Bug 649142). - Richtungsunabhängige Äquivalente von
top,right,bottomundleft:inset-block-start,offset-block-end,offset-inline-startundoffset-inline-end(Firefox-Bug 1120283).
- Richtungsunabhängige Äquivalente von
-
Wie CSS-Übergänge starten, wurde geändert, um eine kürzliche Änderung der Spezifikationen zu entsprechen und ein interoperables Verhalten zwischen Browsern zu erreichen (Firefox-Bug 960465).
HTML
- Das
<label>-Element löst keine Ereignisse mehr beim Zielelement des Labels aus, wenn interaktiver Inhalt zwischen dem Ereignisziel und dem Label gefunden wird (Firefox-Bug 229925). - Das
<picture>-Element wurde standardmäßig aktiviert (Firefox-Bug 1017875). - Das
<meta name="referrer">wird für Navigationen aus dem Kontextmenü oder über einen Mittel-Klick unterstützt (Firefox-Bug 1113431).
JavaScript
-
Generator.prototype.return()ist implementiert (Firefox-Bug 1115868). -
Settermit einem Rest-Parameter ist jetzt einSyntaxError(Firefox-Bug 1089632). -
Die
nameEigenschaft von Funktionen ist jetzt konfigurierbar (Firefox-Bug 1084019). -
Mehrere
ArrayMethoden wurden auch für typisierte Arrays implementiert:- Die
of()undfrom()Methoden (Firefox-Bug 896608). - Die
forEach()Methode (Firefox-Bug 1107645). - Die
filter()undmap()Methoden (Firefox-Bug 1121936). - Die
slice()Methode (Firefox-Bug 1121935).
- Die
-
Doppelte Parameterbezeichnung ist nicht mehr erlaubt, wenn ein Rest-Parameter vorhanden ist (Firefox-Bug 1096376).
-
Doppelte Parameterbezeichnung ist in Pfeilfunktionen nicht mehr erlaubt (Firefox-Bug 1096377).
-
Doppelte Parameterbezeichnung ist in kompakten Methodendefinitionen nicht mehr erlaubt (Firefox-Bug 1096378).
-
Warnung wird angezeigt, wenn der
Map/Set/WeakMapKonstruktor ohnenewaufgerufen wird (Firefox-Bug 1108930). -
Die
get,hasunddeleteMethoden vonWeakMapObjekten werfen keinen Fehler mehr, wenn derkey-Parameter kein Objekt ist (Firefox-Bug 1127827). -
Der optionale und nicht-standardmäßige zweite
fallback-Parameter fürWeakMap.prototype.get()wurde entfernt (Firefox-Bug 1127827). -
Beim Definieren einer Generator-Methode sind
setundgetnicht mehr ungültige Namen (Firefox-Bug 1073809). -
RegExp.prototype.sourcegibt jetzt "(?:)" anstelle eines leeren Strings für leere reguläre Ausdrücke zurück (Firefox-Bug 1130798). -
RegExp.prototype.sourceundRegExp.prototype.toString()escapen jetzt reguläre Ausdrucksmuster korrekt (z.B. Zeilenabschlusszeichen, "\n") (Firefox-Bug 1130860). -
Die
Regexpglobal,ignoreCase,multilineundstickyEigenschaften sind jetzt Prototyp-Accessor-Eigenschaften statt Eigendateneigenschaften vonRegExp-Instanzen (Firefox-Bug 1120169). -
Die
RegExp.prototype.sourceEigenschaft ist jetzt eine Prototyp-Accessor-Eigenschaft statt einer Eigendateneigenschaft vonRegExp-Instanzen (Firefox-Bug 1120169). Verfügbar nur in Nicht-Release-Version, aufgrund von Firefox-Bug 1150297. -
Function.prototype.toString()wirft jetzt fürProxyObjekte einen Fehler (Firefox-Bug 1100936).
Schnittstellen/APIs/DOM
- Die Fetch API
fetch()Methode wurde implementiert (Firefox-Bug 1039846). - Die
BroadcastChannelAPI wurde implementiert und ist in Web Workers verfügbar (Firefox-Bug 966439 und Firefox-Bug 1121420). - Die Konsole-API ist jetzt in Web Workers verfügbar.
CanvasRenderingContext2D.clearHitRegions()wurde implementiert (Firefox-Bug 1119527).- Konstanten von
KeyboardEvent.location,DOM_KEY_LOCATION_MOBILEund DOM_KEY_LOCATION_JOYSTICK, wurden entfernt, da sie aus der DOM Level 3 Spec entfernt wurden (Firefox-Bug 936313). KeyboardEvent.codeist jetzt verfügbar; vorher war es nur in Vorabversionen verfügbar. (Firefox-Bug 1126673)KeyboardEvent.codeunterstützt jetzt Sondertasten auf Sun-Tastaturen unter Linux, Android und Firefox OS. (Firefox-Bug 1020139)- Der
TextEncoder()Konstruktor wurde geändert, um der Spezifikation zu entsprechen: Wenn ein ungültiger Parameter übergeben wird, wird jetzt derRangeErrorDOMExceptionausgelöst, anstatt des fehlerhaftenTypeError(Firefox-Bug 1125766). - Die User Timing API, die
Performance.mark(),Performance.clearMarks(),Performance.measure()undPerformance.clearMeasures()hinzufügt, wurde implementiert (Firefox-Bug 782751). - Die vorgegebene Version von
Window.indexedDB,mozIndexedDB, wurde entfernt (Firefox-Bug 975699). - Das
DOMContentLoadedEreignis kann nicht mehr abgebrochen werden (Firefox-Bug 1134559). - Man kann jetzt WebSockets in Workers verwenden (Firefox-Bug 504553).
- Die
XMLHttpRequest.responseTypeundXMLHttpRequest.withCredentialsEigenschaften können jetzt gesetzt werden, bevorXMLHttpRequest.open()aufgerufen wird (Firefox-Bug 707484).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerke
Keine Änderung.
Sicherheit
- In Firefox wird das
autocomplete=falseAttribut jetzt ignoriert, wenn es sich um ein Anmeldeformular handelt (Firefox-Bug 1025703). Dies soll die Nutzung sichererer Passwörter fördern, indem Passwort-Manager-Tools zuverlässiger arbeiten können. - RC4 ist jetzt bei der Nutzung von TLS deaktiviert, außer für einige speziell erlaubte Websites. Diese Whitelist ist eine Zwischenmaßnahme, bis diese Seiten repariert sind (Firefox-Bug 1124039). Diese Rückfalloption wird durch die Voreinstellung
security.tls.unrestricted_rc4_fallbackgesteuert, die momentan standardmäßigtrueist (Firefox-Bug 1138882). - Websites, die auf eine unsichere Version von TLS zurückfallen müssen, um zu funktionieren, sind jetzt in einer festkodierten Whitelist enthalten, die über die Zeit verkleinert wird (Firefox-Bug 1114816). Die Whitelist kann deaktiviert werden, indem
security.tls.insecure_fallback_hosts.use_static_listauffalsegesetzt wird.
Änderungen für Add-on- und Mozilla-Entwickler
>Add-on SDK
Höhepunkte
sdk/context-menu@2wurde implementiert (Firefox-Bug 1070952).sdk/addon/bootstrapwurde implementiert (Firefox-Bug 1075541).sdk/windows/loaderwurde entfernt (Firefox-Bug 970135).- Fix für die Erkennung der Standardsprache unter Linux (Firefox-Bug 1114712).
toolkit/loaderhat jetzt opt-in Modulkompatibilitätsprüfung, die für alle jpm Add-ons aktiviert ist (Firefox-Bug 1037235).
Electrolysis (E10s) Updates
sdk/page-workere10s Updates (Firefox-Bug 1116004).sdk/content/workere10s Updates (Firefox-Bug 1116544).sdk/tabse10s Updates (Firefox-Bug 1033838).
Details
XUL
Keine Änderung.
JavaScript Code-Module
Downloads.jsm
DownloadTargetObjekte haben jetztexistsundsizeEigenschaften, die es ermöglichen, das Vorhandensein und die Größe der Ziel-Datei eines Downloads auf der Festplatte zu bestimmen, sowie eine neuerefresh()Methode, die anfordert, dass diese Werte aktualisiert werden.
XPCOM
"@mozilla.org/network/atomic-file-output-stream;1"und"@mozilla.org/network/safe-file-output-stream;1"werfen jetzt eine Ausnahme, wennPR_APPENDohnePR_TRUNCATEübergeben wird (Firefox-Bug 1117580).nsICompositionStringSynthesizerundnsIDOMWindowUtils.sendCompositionEvent()wurden entfernt. Stattdessen sollnsITextInputProcessorverwendet werden. (Firefox-Bug 917322)nsIDOMWindowUtils.sendKeyEvent()ist jetzt veraltet. Stattdessen sollnsITextInputProcessorverwendet werden (Firefox-Bug 1119609).