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 Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.
Änderungen für Webentwickler
>Entwicklertools
Höhepunkte:
- Audio-Knoten im Web Audio Editor umgehen
- "copy"-Befehl in der Web-Konsole
- XmlHttpRequests in der Web-Konsole hervorheben und filtern
- Optimierte Variablen im Debugger anzeigen
- Sicherheitswarnungen im Netzwerk-Monitor anzeigen
- Übertragene Größen im Netzwerk-Monitor anzeigen
- Alle Animationen auf der Seite abspielen/pausieren
Alle in den Entwicklertools zwischen Firefox 37 und Firefox 38 behobenen Fehler.
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 Pseudo-Klasse
:unresolvedwurde für benutzerdefinierte Elemente implementiert (Firefox-Bug 1111633). -
Der vordefinierte Stil
ethiopic-numericverwendet jetzt ein Leerzeichen, anstatt eines Punktes, als Suffix, um einer kürzlichen Änderung in der Spezifikation zu entsprechen (Firefox-Bug 1120721). -
CSS-Übergänge auf generierten Inhalten (mit
::beforeund::after) sowohl auf einem Inline- als auch auf dem Block, der sie trennt, starten nun wie von der Spezifikation erwartet (Firefox-Bug 1110277). -
Die Implementierung der 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 Langformen 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, die darauf abzielt, ein interoperables Verhalten zwischen Browsern zu gewährleisten (Firefox-Bug 960465).
HTML
- Das
<label>-Element löst keine Ereignisse mehr beim Label-Zielelement aus, wenn interaktive Inhalte zwischen dem Ereignisziel und dem Label gefunden werden (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 durch einen Mittelklick unterstützt (Firefox-Bug 1113431).
JavaScript
-
Generator.prototype.return()ist implementiert (Firefox-Bug 1115868). -
Settermit einem Rest-Parameter verursacht jetzt einenSyntaxError(Firefox-Bug 1089632). -
Die
name-Eigenschaft von Funktionen ist jetzt konfigurierbar (Firefox-Bug 1084019). -
Mehrere
Array-Methoden wurden auch für typisierte Arrays implementiert:- Die Methoden
of()undfrom()(Firefox-Bug 896608). - Die Methode
forEach()(Firefox-Bug 1107645). - Die Methoden
filter()undmap()(Firefox-Bug 1121936). - Die Methode
slice()(Firefox-Bug 1121935).
- Die Methoden
-
Doppelte Parameternamen sind nicht mehr erlaubt, wenn ein Rest-Parameter vorhanden ist (Firefox-Bug 1096376).
-
Doppelte Parameternamen sind in Pfeilfunktionen nicht mehr erlaubt (Firefox-Bug 1096377).
-
Doppelte Parameternamen sind in kompakten Methodendefinitionen nicht mehr erlaubt (Firefox-Bug 1096378).
-
Eine Warnung wird angezeigt, wenn der
Map/Set/WeakMap-Konstruktor ohnenewaufgerufen wird (Firefox-Bug 1108930). -
Die Methoden
get,has, unddeletevonWeakMapObjekten werfen keine Ausnahme mehr, wenn derkey-Parameter kein Objekt ist (Firefox-Bug 1127827). -
Der optionale und nicht standardisierte 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 "(?:)" anstatt 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 (zum Beispiel Zeilenbegrenzer, "\n") (Firefox-Bug 1130860). -
Die
Regexpglobal,ignoreCase,multiline, undsticky-Eigenschaften sind jetzt Prototypen-Accessoreigenschaften anstatt eigene Daten-Eigenschaften vonRegExp-Instanzen (Firefox-Bug 1120169). -
Die
RegExp.prototype.source-Eigenschaft ist jetzt eine Prototypen-Accessoreigenschaft anstatt eine eigene Daten-Eigenschaft vonRegExp-Instanzen (Firefox-Bug 1120169). Nur in Nicht-Release-Versionen verfügbar, aufgrund von Firefox-Bug 1150297. -
Function.prototype.toString()wirft jetzt beiProxyObjekten eine Ausnahme (Firefox-Bug 1100936).
Schnittstellen/Apis/DOM
- Die Fetch API-Methode
fetch()wurde implementiert (Firefox-Bug 1039846). - Die
BroadcastChannelAPI wurde implementiert und ist in Web Workers verfügbar (Firefox-Bug 966439 und Firefox-Bug 1121420). - Die Console 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 Spezifikation entfernt wurden (Firefox-Bug 936313). KeyboardEvent.codeist jetzt verfügbar; zuvor war es nur in Vorabversionen verfügbar. (Firefox-Bug 1126673)KeyboardEvent.codeunterstützt jetzt spezielle Tasten auf Sun-Tastaturen unter Linux, Android und Firefox OS. (Firefox-Bug 1020139)- Der
TextEncoder()Konstruktor wurde geändert, um der Spezifikation zu entsprechen: Bei der Übergabe eines ungültigen Parameters 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 prefixed Version von
Window.indexedDB,mozIndexedDB, wurde entfernt (Firefox-Bug 975699). - Das
DOMContentLoaded-Ereignis kann nicht mehr abgebrochen werden (Firefox-Bug 1134559). - Sie können jetzt WebSockets in Workers verwenden (Firefox-Bug 504553).
- Die Eigenschaften
XMLHttpRequest.responseTypeundXMLHttpRequest.withCredentialskönnen jetzt gesetzt werden, bevorXMLHttpRequest.open()aufgerufen wird (Firefox-Bug 707484).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk
Keine Änderung.
Sicherheit
- In Firefox wird das
autocomplete=false-Attribut jetzt ignoriert, wenn es sich um ein Anmeldeformular handelt (Firefox-Bug 1025703). Dies soll die Verwendung sicherer Passwörter fördern, indem Passwort-Manager-Tools zuverlässiger funktionieren. - RC4 ist beim Verwenden von TLS nun deaktiviert, außer für einige speziell erlaubte Websites. Diese Whitelist ist eine Zwischenlösung, bis diese Websites behoben sind (Firefox-Bug 1124039). Dieser Fallback wird über die
security.tls.unrestricted_rc4_fallback-Präferenz gesteuert,wahrstandardmäßig für den Moment (Firefox-Bug 1138882). - Websites, die für ihr Funktionieren auf eine unsichere Version von TLS zurückfallen müssen, befinden sich jetzt in einer hardcodierten Whitelist, die im Laufe der Zeit reduziert 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).- Fehler bei der Erkennung der Standardsprache unter Linux behoben (Firefox-Bug 1114712).
toolkit/loaderverfügt jetzt über eine Opt-In-Modulkompatibilitätsprüfung, die für alle jpm-Add-ons aktiviert ist (Firefox-Bug 1037235).
Elektrolyse (E10s) Updates
sdk/page-workerE10s-Updates (Firefox-Bug 1116004).sdk/content/workerE10s-Updates (Firefox-Bug 1116544).sdk/tabsE10s-Updates (Firefox-Bug 1033838).
Einzelheiten
XUL
Keine Änderung.
JavaScript-Code-Module
Downloads.jsm
DownloadTargetObjekte haben jetzt die Eigenschaftenexistsundsize, die es Ihnen ermöglichen, das Vorhandensein und die Größe der Zieldatei des Downloads auf der Festplatte zu bestimmen, sowie eine neuerefresh()-Methode, die verlangt, 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. Verwenden Sie stattdessennsITextInputProcessor. (Firefox-Bug 917322)nsIDOMWindowUtils.sendKeyEvent()ist jetzt veraltet. Verwenden Sie stattdessennsITextInputProcessor(Firefox-Bug 1119609).