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
>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/pausieren
Alle behobenen Devtools-Bugs zwischen Firefox 37 und Firefox 38.
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 jetzt ein Leerzeichen statt eines Punkts als Suffix, um einer kürzlichen Änderung der Spezifikation gerecht zu werden (Firefox-Bug 1120721). -
CSS-Übergänge auf generierten Inhalten (mit
::beforeund::after) sowohl auf einem Inline-Element als auch auf dem Block, der sie trennt, starten jetzt wie in der Spezifikation vorgesehen (Firefox-Bug 1110277). -
Die Implementierung von CSS-logischen Eigenschaften machte große Fortschritte. Die folgenden Eigenschaften sind hinter dem
layout.css.vertical-text.enabled-Flag verfü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-inline-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-leftsowie deren Langformen fürwidth,styleundcolor: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 einer kürzlichen Änderung der Spezifikation zu entsprechen, mit dem Ziel eines interoperablen Verhaltens zwischen Browsern (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 ü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
-
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
get,hasunddeleteMethoden vonWeakMap-Objekten werfen nicht 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
setundgetkeine ungültigen Namen mehr (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()fliehen jetzt reguläre Ausdrucksmuster richtig (z.B. Zeilenende, "\n") (Firefox-Bug 1130860). -
Die
RegExpglobal,ignoreCase,multiline, undstickyEigenschaften sind jetzt Prototyp-Accessor-Eigenschaften statt eigenen Dateneigenschaften vonRegExp-Instanzen (Firefox-Bug 1120169). -
Die
RegExp.prototype.sourceEigenschaft ist nun eine Prototyp-Accessor-Eigenschaft statt einer eigenen Dateneigenschaft vonRegExp-Instanzen (Firefox-Bug 1120169). Verfügbar nur in Nicht-Release-Versionen, aufgrund von Firefox-Bug 1150297. -
Function.prototype.toString()wirft nun fürProxy-Objekte (Firefox-Bug 1100936).
Schnittstellen/APIs/DOM
- Die Fetch API
fetch()Methode wurde implementiert (Firefox-Bug 1039846). - Die
BroadcastChannelAPI wurde implementiert und steht in Web Workern zur Verfügung (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_MOBILEundDOM_KEY_LOCATION_JOYSTICKwurden 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 besondere 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 dieRangeErrorDOMExceptionausgelöst, statt des fehlerhaftenTypeError(Firefox-Bug 1125766). - Die User Timing API, mit den Methoden
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 abbruchsbereit (Firefox-Bug 1134559). - Sie können jetzt WebSockets in Workern verwenden (Firefox-Bug 504553).
- Die Eigenschaften
XMLHttpRequest.responseTypeundXMLHttpRequest.withCredentialskönnen jetzt eingestellt werden, bevorXMLHttpRequest.open()aufgerufen wird (Firefox-Bug 707484).
MathML
Keine Änderungen.
SVG
Keine Änderungen.
Audio/Video
Keine Änderungen.
Netzwerk
Keine Änderungen.
Sicherheit
- In Firefox wird das
autocomplete=falseAttribut jetzt ignoriert, wenn es mit einem Anmeldeformular verwendet wird (Firefox-Bug 1025703). Dies soll die Verwendung von sichereren Passwörtern fördern, indem Passwort-Manager-Tools zuverlässiger arbeiten können. - RC4 ist jetzt beim Verwenden von TLS deaktiviert, mit Ausnahme einiger speziell zugelassener Websites. Diese Whitelist ist eine Übergangslösung, bis diese Seiten behoben sind (Firefox-Bug 1124039). Dieses Fallback wird durch die
security.tls.unrestricted_rc4_fallbackEinstellung gesteuert, die momentan standardmäßigtrueist (Firefox-Bug 1138882). - Websites, die auf eine unsichere TLS-Version zurückfallen müssen, um zu funktionieren, sind jetzt in einer festcodierten 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).- Fix für die Spracherkennung unter Linux (Firefox-Bug 1114712).
toolkit/loaderhat jetzt eine Opt-in-Kompatibilitätsprüfung für Module, die für alle JPM-Add-ons aktiviert ist (Firefox-Bug 1037235).
Electrolysis (E10s) Aktualisierungen
sdk/page-workere10s-Aktualisierungen (Firefox-Bug 1116004).sdk/content/workere10s-Aktualisierungen (Firefox-Bug 1116544).sdk/tabse10s-Aktualisierungen (Firefox-Bug 1033838).
Details
XUL
Keine Änderungen.
JavaScript Code Module
Downloads.jsm
DownloadTargetObjekte haben jetztexistsundsizeEigenschaften, die es ermöglichen, die Existenz und die Größe der Zieldatei des 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).