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, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Höhepunkte:
- Audio-Knoten im Web Audio Editor umgehen
- "copy"-Befehl in der Webkonsole
- XmlHttpRequests in der Webkonsole hervorheben und filtern
- Optimierte Variablen im Debugger sehen
- Sicherheitswarnungen im Netzwerkmonitor sehen
- Übertragene Größen im Netzwerkmonitor sehen
- Alle Animationen auf der Seite abspielen/anhalten
Alle Developer-Tools-Bugs, die zwischen Firefox 37 und Firefox 38 behoben wurden.
CSS
-
Support 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 Punktes als Suffix, um einer kürzlichen Änderung der Spezifikation zu entsprechen (Firefox-Bug 1120721). -
CSS-Übergänge auf generierten Inhalten (mit
::beforeund::after) sowohl auf einer Inline- als auch auf der Blockebene beginnen nun wie in der Spezifikation erwartet (Firefox-Bug 1110277). -
Die Implementierung von CSS Logische Eigenschaften hat große Fortschritte gemacht. Die folgenden Eigenschaften sind hinter dem
layout.css.vertical-text.enabledFlag verfügbar (falsestandardmäßig):- Richtungsunabhängige Entsprechungen von
widthundheight:block-sizeundinline-size(Firefox-Bug 1117983). - Richtungsunabhängige Entsprechungen von
min-widthundmin-height:min-block-sizeundmin-inline-size(Firefox-Bug 1117983). - Richtungsunabhängige Entsprechungen von
max-widthundmax-height:max-block-sizeundmax-inline-size(Firefox-Bug 1117983). - Richtungsunabhängige Entsprechungen von
margin-top,margin-right,margin-bottomundmargin-left:margin-block-start,margin-block-end,margin-inline-startundmargin-inline-end(Firefox-Bug 649142). - Richtungsunabhängige Entsprechungen von
padding-top,padding-right,padding-bottomundpadding-left:padding-block-start,padding-block-end,padding-inline-startundpadding-inline-end(Firefox-Bug 649142). - Richtungsunabhängige Entsprechungen von
border-top,border-right,border-bottomundborder-leftund ihre Longhands 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 Entsprechungen von
top,right,bottomundleft:inset-block-start,offset-block-end,offset-inline-startundoffset-inline-end(Firefox-Bug 1120283).
- Richtungsunabhängige Entsprechungen von
-
Wie CSS-Übergänge starten, wurde geändert, um einer kürzlichen Änderung der Spezifikationen zu entsprechen, mit dem Ziel, ein interoperables Verhalten zwischen Browsern zu erreichen (Firefox-Bug 960465).
HTML
- Das
<label>-Element löst keine Ereignisse mehr für das Ziel-Element des Labels 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 Navigationsvorgänge 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
name-Eigenschaft von Funktionen ist jetzt konfigurierbar (Firefox-Bug 1084019). -
Mehrere
Array-Methoden 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
-
Ein doppelter Parametername ist nicht mehr erlaubt, wenn ein Rest-Parameter vorhanden ist (Firefox-Bug 1096376).
-
Ein doppelter Parametername ist in Pfeilfunktionen nicht mehr erlaubt (Firefox-Bug 1096377).
-
Ein doppelter Parametername ist in kurzen 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, unddeletevonWeakMap-Objekten werfen nicht mehr, wenn derkey-Parameter kein Objekt ist (Firefox-Bug 1127827). -
Der optionale und nicht-standardisierte zweite
fallbackParameter fürWeakMap.prototype.get()wurde entfernt (Firefox-Bug 1127827). -
Bei der Definition 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()maskieren jetzt reguläre Ausdrucksmuster richtig (z.B. Zeilenendzeichen, "\n") (Firefox-Bug 1130860). -
Die
Regexpglobal,ignoreCase,multiline, undsticky-Eigenschaften sind jetzt Prototyp-Accessor-Eigenschaften anstatt eigene Dateneigenschaften vonRegExp-Instanzen (Firefox-Bug 1120169). -
Die
RegExp.prototype.source-Eigenschaft ist jetzt eine Prototyp-Accessor-Eigenschaft anstatt eigene Dateneigenschaft vonRegExp-Instanzen (Firefox-Bug 1120169). Nur in Nicht-Release-Version verfügbar, aufgrund Firefox-Bug 1150297. -
Function.prototype.toString()wirft jetzt fürProxy-Objekte (Firefox-Bug 1100936).
Schnittstellen/APIs/DOM
- Die Fetch-API-Methode
fetch()wurde implementiert (Firefox-Bug 1039846). - Die
BroadcastChannel-API wurde implementiert und ist in Web Workern verfügbar (Firefox-Bug 966439 und Firefox-Bug 1121420). - Die Console-API ist jetzt in Web Workern 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; vorher 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 verändert, um der Spezifikation zu entsprechen: wenn ein ungültiger Parameter übergeben wird, wird jetzt derRangeErrorDOMExceptiongeworfen, anstelle 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 vorgefixte Version von
Window.indexedDB,mozIndexedDB, wurde entfernt (Firefox-Bug 975699). - Das
DOMContentLoaded-Ereignis ist nicht mehr abbrechbar (Firefox-Bug 1134559). - Sie können jetzt WebSockets in Workern verwenden (Firefox-Bug 504553).
- Die Eigenschaften
XMLHttpRequest.responseTypeundXMLHttpRequest.withCredentialskönnen jetzt vor dem Aufruf vonXMLHttpRequest.open()gesetzt werden (Firefox-Bug 707484).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Netzwerk
Keine Änderung.
Sicherheit
- In Firefox wird das
autocomplete=false-Attribut beim Umgang mit einem Anmeldeformular jetzt ignoriert (Firefox-Bug 1025703). Dies soll zur Verwendung sichererer Passwörter ermutigen, indem Passwort-Manager-Tools zuverlässiger arbeiten können. - RC4 ist jetzt beim Verwenden von TLS deaktiviert, außer für einige speziell erlaubte Websites. Diese Whitelist ist eine Zwischenlösung, bis diese Seiten behoben werden (Firefox-Bug 1124039). Diese Rückfallebene wird durch die
security.tls.unrestricted_rc4_fallback-Einstellung kontrolliert, die derzeit standardmäßig auftruegesetzt ist (Firefox-Bug 1138882). - Websites, die auf eine unsichere TLS-Version zurückfallen müssen, um zu funktionieren, befinden sich jetzt in einer fest kodierten Whitelist, die im Laufe der 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).- Fehlerbehebung bei der Erkennung der Standardsprache auf Linux (Firefox-Bug 1114712).
toolkit/loaderhat jetzt ein Opt-in-Modul-Kompatibilitätsprüfsystem, das 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
DownloadTarget-Objekte haben jetzt die Eigenschaftenexistsundsize, die es Ihnen ermöglichen, die Existenz 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).