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
>Entwickler-Tools
Höhepunkte:
- Umgehung von Audionodes im Web Audio Editor
- "copy"-Befehl in der Web-Konsole
- Markieren und Filtern von XmlHttpRequests in der Web-Konsole
- Anzeigen von optimierten Variablen im Debugger
- Sicherheitswarnungen im Netzwerk-Monitor anzeigen
- Übertragene Größen im Netzwerk-Monitor anzeigen
- Alle Animationen auf der Seite abspielen/pause
Alle Devtools-Bugs zwischen Firefox 37 und Firefox 38 behoben.
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
:unresolvedPseudo-Klasse wurde für benutzerdefinierte Elemente implementiert (Firefox-Bug 1111633). -
Der vordefinierte Stil
ethiopic-numericverwendet jetzt ein Leerzeichen statt eines Punktes als Suffix, um eine aktuelle Änderung der Spezifikation zu erfüllen (Firefox-Bug 1120721). -
CSS-Übergänge auf generiertem Inhalt (mit
::beforeund::after) auf sowohl einem Inline- als auch dem Block, der sie teilt, starten jetzt wie in der Spezifikation erwartet (Firefox-Bug 1110277). -
Die Implementierung von CSS Logical Properties hat große Fortschritte gemacht. Die folgenden Eigenschaften sind hinter dem
layout.css.vertical-text.enabledFlag (standardmäßigfalse) verfügbar:- 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-block-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 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 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 eine aktuelle Änderung der Spezifikationen zu erfüllen, die ein interoperables Verhalten zwischen Browsern anstrebt (Firefox-Bug 960465).
HTML
- Das
<label>-Element sendet keine Ereignisse mehr an das Label-Zielelement, 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 bei einem Mittelklick 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
Array-Methoden wurden auch für typed 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 Parameterbenennung ist nicht mehr erlaubt, wenn ein rest-Parameter vorhanden ist (Firefox-Bug 1096376).
-
Doppelte Parameterbenennung ist in Pfeilfunktionen nicht mehr erlaubt (Firefox-Bug 1096377).
-
Doppelte Parameterbenennung ist in prägnanten Methodendefinitionen nicht mehr erlaubt (Firefox-Bug 1096378).
-
Eine Warnung wird angezeigt, wenn der
Map/Set/WeakMap-Konstruktor ohnenewaufgerufen wird (Firefox-Bug 1108930). -
Die
get,has, unddeleteMethoden vonWeakMap-Objekten werfen keine Ausnahme 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 "(?:)" statt eines leeren Strings für leere reguläre Ausdrücke zurück (Firefox-Bug 1130798). -
RegExp.prototype.sourceundRegExp.prototype.toString()entkommen jetzt den Mustern regulärer Ausdrücke korrekt (z. B. Zeilenendezeichen, "\n") (Firefox-Bug 1130860). -
Die
Regexpglobal,ignoreCase,multiline, undstickyEigenschaften sind jetzt Prototyp-Accessor-Eigenschaften anstelle von eigenen Dateneigenschaften vonRegExp-Instanzen (Firefox-Bug 1120169). -
Die
RegExp.prototype.source-Eigenschaft ist jetzt eine Prototyp-Accessor-Eigenschaft anstelle einer eigenen Dateneigenschaft vonRegExp-Instanzen (Firefox-Bug 1120169). Nur in nicht-Release-Versionen verfügbar, aufgrund von Firefox-Bug 1150297. -
Function.prototype.toString()wirft jetzt eine Ausnahme fürProxyObjekte (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 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; 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 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, hinzufügend
Performance.mark(),Performance.clearMarks(),Performance.measure(), undPerformance.clearMeasures()wurde implementiert (Firefox-Bug 782751). - Die vorangestellte Version von
Window.indexedDB,mozIndexedDB, wurde entfernt (Firefox-Bug 975699). - Das
DOMContentLoadedEreignis ist nicht mehr stornierbar (Firefox-Bug 1134559). - Sie können jetzt WebSockets in Workers verwenden (Firefox-Bug 504553).
- Die
XMLHttpRequest.responseTypeundXMLHttpRequest.withCredentialsEigenschaften können jetzt vor dem Aufruf vonXMLHttpRequest.open()gesetzt werden (Firefox-Bug 707484).
MathML
Keine Änderung.
SVG
Keine Änderung.
Audio/Video
Keine Änderung.
Vernetzung
Keine Änderung.
Sicherheit
- In Firefox wird das
autocomplete=falseAttribut jetzt ignoriert, wenn es sich um ein Loginformular handelt (Firefox-Bug 1025703). Dies soll die Verwendung von sichereren Passwörtern fördern, indem Passwort-Manager-Tools verlässlicher arbeiten können. - RC4 ist jetzt deaktiviert, wenn TLS verwendet wird, außer bei wenigen speziell erlaubten Websites. Diese Whitelist ist eine vorübergehende Maßnahme, bis diese Seiten behoben sind (Firefox-Bug 1124039). Dieses Fallback wird durch die
security.tls.unrestricted_rc4_fallbackPräferenz gesteuert, die momentan standardmäßig auftruesteht (Firefox-Bug 1138882). - Websites, die zur Funktion auf eine unsichere Version von TLS zurückfallen müssen, sind jetzt in einer festgelegten Whitelist, die mit 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).- Behebung bei der Erkennung der Standardsprache unter Linux (Firefox-Bug 1114712).
toolkit/loaderhat jetzt eine 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 Ihnen ermöglichen, das Vorhandensein und die Größe der Zieldatei eines Downloads auf der Festplatte zu bestimmen, sowie eine neuerefresh()Methode, die fordert, 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 verwenden SiensITextInputProcessor(Firefox-Bug 917322).nsIDOMWindowUtils.sendKeyEvent()ist jetzt veraltet. Stattdessen verwenden SiensITextInputProcessor(Firefox-Bug 1119609).