Firefox 38 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
Highlights:
- Audio-Knoten im Web Audio Editor umgehen
- "copy"-Befehl in der Web-Konsole
- Hervorheben und Filtern von XmlHttpRequests in der Web-Konsole
- Optimierte Variablen im Debugger anzeigen
- Sicherheitswarnungen im Netzwerk-Monitor sehen
- Übertragene Größen im Netzwerk-Monitor anzeigen
- Alle Animationen auf der Seite abspielen/anhalten
Alle Entwicklerwerkzeug Bugs, die zwischen Firefox 37 und Firefox 38 behoben wurden.
CSS
-
Unterstützung für
ruby-position
undruby-align
wurde hinzugefügt und ist standardmäßig verfügbar (Firefox-Bug 1055676 Firefox-Bug 1123917 und Firefox-Bug 1039006). -
Die
:unresolved
Pseudoklasse wurde für benutzerdefinierte Elemente implementiert (Firefox-Bug 1111633). -
Der vordefinierte Stil
ethiopic-numeric
verwendet jetzt einen Leerraum anstelle eines Punktes als Suffix, um eine kürzliche Änderung in der Spezifikation zu matchen (Firefox-Bug 1120721). -
CSS-Übergänge auf generiertem Inhalt (mit
::before
und::after
) sowohl auf einer Inline-Element als auch dem Block, der sie trennt, beginnen jetzt wie in der Spezifikation erwartet (Firefox-Bug 1110277). -
Die Implementierung von CSS-logischen Eigenschaften hat große Fortschritte gemacht. Die folgenden Eigenschaften sind hinter dem
layout.css.vertical-text.enabled
-Flag verfügbar (false
standardmäßig):- Richtungsunabhängige Äquivalente zu
width
undheight
:block-size
undinline-size
(Firefox-Bug 1117983). - Richtungsunabhängige Äquivalente zu
min-width
undmin-height
:min-block-size
undmin-inline-size
(Firefox-Bug 1117983). - Richtungsunabhängige Äquivalente zu
max-width
undmax-height
:max-block-size
undmax-inline-size
(Firefox-Bug 1117983). - Richtungsunabhängige Äquivalente zu
margin-top
,margin-right
,margin-bottom
undmargin-left
:margin-block-start
,margin-block-end
,margin-inline-start
undmargin-inline-end
(Firefox-Bug 649142). - Richtungsunabhängige Äquivalente zu
padding-top
,padding-right
,padding-bottom
undpadding-left
:padding-block-start
,padding-block-end
,padding-inline-start
undpadding-inline-end
(Firefox-Bug 649142). - Richtungsunabhängige Äquivalente zu
border-top
,border-right
,border-bottom
undborder-left
und 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-style
undborder-inline-end-color
(Firefox-Bug 649142). - Richtungsunabhängige Äquivalente zu
top
,right
,bottom
undleft
:inset-block-start
,offset-block-end
,offset-inline-start
undoffset-inline-end
(Firefox-Bug 1120283).
- Richtungsunabhängige Äquivalente zu
-
Wie CSS-Übergänge starten, wurde geändert, um eine kürzliche Änderung der Spezifikationen zu übernehmen und ein interoperables Verhalten zwischen Browsern zu erreichen (Firefox-Bug 960465).
HTML
- Das
<label>
-Element sendet keine Ereignisse mehr an das Ziel-Element des Labels, wenn interaktiver Inhalt zwischen dem Ereignis-Target 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 einem Mittelklick unterstützt (Firefox-Bug 1113431).
JavaScript
-
Generator.prototype.return()
wurde implementiert (Firefox-Bug 1115868). -
Setter
mit einem Rest-Parameter ist jetzt einSyntaxError
(Firefox-Bug 1089632). -
Die
name
-Eigenschaft von Funktionen ist jetzt konfigurierbar (Firefox-Bug 1084019). -
Mehrere
Array
-Methoden wurden ebenfalls 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 prägnanten Methodendefinitionen nicht mehr erlaubt (Firefox-Bug 1096378).
-
Es wird eine Warnung angezeigt, wenn
Map
/Set
/WeakMap
-Konstruktoren ohnenew
aufgerufen werden (Firefox-Bug 1108930). -
Die Methoden
get
,has
unddelete
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
set
undget
keine ungültigen Namen mehr (Firefox-Bug 1073809). -
RegExp.prototype.source
gibt jetzt "(?:)" statt eines leeren Strings für leere reguläre Ausdrücke zurück (Firefox-Bug 1130798). -
RegExp.prototype.source
undRegExp.prototype.toString()
flüchten jetzt korrekt reguläre Ausdrucksmuster (z.B. Zeilenabschlusszeichen, "\n") (Firefox-Bug 1130860). -
Die Eigenschaften
global
,ignoreCase
,multiline
undsticky
vonRegexp
sind jetzt Prototypen-Zugriffseigenschaften anstelle von eigenen Dateneigenschaften vonRegExp
-Instanzen (Firefox-Bug 1120169). -
Die Eigenschaft
RegExp.prototype.source
ist jetzt eine Prototypen-Zugriffseigenschaft anstelle von eigenen Dateneigenschaften vonRegExp
-Instanzen (Firefox-Bug 1120169). Verfügbar nur in Nicht-Release-Version, aufgrund von Firefox-Bug 1150297. -
Function.prototype.toString()
wirft jetzt beiProxy
-Objekten eine Ausnahme (Firefox-Bug 1100936).
Schnittstellen/APIs/DOM
- Die Fetch API
fetch()
-Methode wurde implementiert (Firefox-Bug 1039846). - Die
BroadcastChannel
-API 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_MOBILE
und DOM_KEY_LOCATION_JOYSTICK, wurden entfernt, da sie aus der DOM Level 3 Spec entfernt wurden (Firefox-Bug 936313). KeyboardEvent.code
ist jetzt verfügbar; zuvor war es nur in Vorabversionen verfügbar (Firefox-Bug 1126673).KeyboardEvent.code
unterstü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 derRangeError
DOMException
ausgelöst, 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 vorgezeichnete Version von
Window.indexedDB
,mozIndexedDB
, wurde entfernt (Firefox-Bug 975699). - Das
DOMContentLoaded
-Ereignis ist nicht mehr abbruchbar (Firefox-Bug 1134559). - Sie können jetzt WebSockets in Workern verwenden (Firefox-Bug 504553).
- Die Eigenschaften
XMLHttpRequest.responseType
undXMLHttpRequest.withCredentials
kö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 jetzt ignoriert, wenn es um ein Anmeldeformular geht (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 deaktiviert, wenn TLS verwendet wird, außer für einige speziell erlaubte Websites. Diese Whitelist ist eine vorläufige Maßnahme, bis diese Seiten behoben sind (Firefox-Bug 1124039). Dieses Fallback wird durch die
security.tls.unrestricted_rc4_fallback
-Einstellung gesteuert, die im Moment standardmäßig auftrue
gesetzt ist (Firefox-Bug 1138882). - Websites, die auf eine unsichere Version von TLS zurückgreifen müssen, um zu funktionieren, sind 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_list
auffalse
gesetzt wird.
Änderungen für Add-On- und Mozilla-Entwickler
>Add-On SDK
Highlights
sdk/context-menu@2
wurde implementiert (Firefox-Bug 1070952).sdk/addon/bootstrap
wurde implementiert (Firefox-Bug 1075541).sdk/windows/loader
wurde entfernt (Firefox-Bug 970135).- Fix für die Erkennung der Standardsprache unter Linux (Firefox-Bug 1114712).
toolkit/loader
hat jetzt opt-in Modulkonsistenzprüfung, die für alle jpm-Add-Ons aktiviert ist (Firefox-Bug 1037235).
Elektrolyse (E10s) Updates
sdk/page-worker
e10s-Updates (Firefox-Bug 1116004).sdk/content/worker
e10s-Updates (Firefox-Bug 1116544).sdk/tabs
e10s-Updates (Firefox-Bug 1033838).
Details
XUL
Keine Änderung.
JavaScript-Code-Module
Downloads.jsm
DownloadTarget
-Objekte haben jetzt die Eigenschaftenexists
undsize
, die es Ihnen erlauben, 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_APPEND
ohnePR_TRUNCATE
übergeben wird (Firefox-Bug 1117580).nsICompositionStringSynthesizer
undnsIDOMWindowUtils.sendCompositionEvent()
wurden entfernt. Verwenden Sie stattdessennsITextInputProcessor
(Firefox-Bug 917322).nsIDOMWindowUtils.sendKeyEvent()
ist jetzt veraltet. Verwenden Sie stattdessennsITextInputProcessor
(Firefox-Bug 1119609).