Firefox 38 – Versionshinweise für Entwickler
Firefox 38 wurde am 12. Mai 2015 veröffentlicht. Dieser Artikel führt wichtige Änderungen auf, die nicht nur für Webentwickler, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler relevant sind.
Änderungen für Webentwickler
>Entwicklerwerkzeuge
Highlights:
- Audioknoten im Web Audio Editor umgehen
- Befehl „copy“ in der Web-Konsole
- XmlHttpRequests in der Web-Konsole hervorheben und filtern
- Wegoptimierte Variablen im Debugger anzeigen
- Sicherheitswarnungen im Netzwerkmonitor anzeigen
- Übertragene Datenmengen im Netzwerkmonitor anzeigen
- Alle Animationen auf der Seite abspielen oder anhalten
Alle zwischen Firefox 37 und Firefox 38 behobenen Fehler in den Entwicklerwerkzeugen.
CSS
-
Unterstützung für
ruby-positionundruby-alignwurde hinzugefügt und ist standardmäßig verfügbar (Firefox-Fehler 1055676, Firefox-Fehler 1123917 und Firefox-Fehler 1039006). -
Die Pseudoklasse
:unresolvedwurde für benutzerdefinierte Elemente implementiert (Firefox-Fehler 1111633). -
Der vordefinierte Stil
ethiopic-numericverwendet nun ein Leerzeichen statt eines Punkts als Suffix, entsprechend einer kürzlich erfolgten Änderung der Spezifikation (Firefox-Fehler 1120721). -
CSS-Übergänge bei generiertem Inhalt (mit
::beforeund::after), sowohl an einem Inline-Element als auch an dem Block, der es aufteilt, beginnen nun wie in der Spezifikation vorgesehen (Firefox-Fehler 1110277). -
Bei der Implementierung logischer CSS-Eigenschaften wurden große Fortschritte erzielt. Die folgenden Eigenschaften sind verfügbar, wenn
layout.css.vertical-text.enabledaktiviert ist (standardmäßigfalse):- Richtungsunabhängige Entsprechungen von
widthundheight:block-sizeundinline-size(Firefox-Fehler 1117983). - Richtungsunabhängige Entsprechungen von
min-widthundmin-height:min-block-sizeundmin-inline-size(Firefox-Fehler 1117983). - Richtungsunabhängige Entsprechungen von
max-widthundmax-height:max-block-sizeundmax-block-size(Firefox-Fehler 1117983). - Richtungsunabhängige Entsprechungen von
margin-top,margin-right,margin-bottomundmargin-left:margin-block-start,margin-block-end,margin-inline-startundmargin-inline-end(Firefox-Fehler 649142). - Richtungsunabhängige Entsprechungen von
padding-top,padding-right,padding-bottomundpadding-left:padding-block-start,padding-block-end,padding-inline-startundpadding-inline-end(Firefox-Fehler 649142). - Richtungsunabhängige Entsprechungen von
border-top,border-right,border-bottomundborder-leftsowie deren Einzelwerte 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-Fehler 649142). - Richtungsunabhängige Entsprechungen von
top,right,bottomundleft:inset-block-start,offset-block-end,offset-inline-startundoffset-inline-end(Firefox-Fehler 1120283).
- Richtungsunabhängige Entsprechungen von
-
Der Beginn von CSS-Übergängen wurde an eine kürzlich erfolgte Änderung der Spezifikationen angepasst, um ein interoperables Verhalten der Browser zu erreichen (Firefox-Fehler 960465).
HTML
- Das Element
<label>leitet Ereignisse nicht mehr an das zugehörige Formularelement weiter, wenn sich zwischen dem Ereignisziel und dem Label interaktiver Inhalt befindet (Firefox-Fehler 229925). - Das Element
<picture>wurde standardmäßig aktiviert (Firefox-Fehler 1017875). <meta name="referrer">wird bei Navigationen über das Kontextmenü oder durch Klicken mit der mittleren Maustaste unterstützt (Firefox-Fehler 1113431).
JavaScript
-
Generator.prototype.return()wurde implementiert (Firefox-Fehler 1115868). -
Ein
Settermit einem rest parameter führt nun zu einemSyntaxError(Firefox-Fehler 1089632). -
Die Eigenschaft
namevon Funktionen ist nun konfigurierbar (Firefox-Fehler 1084019). -
Mehrere Methoden von
Arraywurden auch für typisierte Arrays implementiert:- Die Methoden
of()undfrom()(Firefox-Fehler 896608). - Die Methode
forEach()(Firefox-Fehler 1107645). - Die Methoden
filter()undmap()(Firefox-Fehler 1121936). - Die Methode
slice()(Firefox-Fehler 1121935).
- Die Methoden
-
Doppelte Parameternamen sind nicht mehr zulässig, wenn ein Rest-Parameter vorhanden ist (Firefox-Fehler 1096376).
-
Doppelte Parameternamen sind in Arrow-Funktionen nicht mehr zulässig (Firefox-Fehler 1096377).
-
Doppelte Parameternamen sind in kompakten Methodendefinitionen nicht mehr zulässig (Firefox-Fehler 1096378).
-
Wenn ein Konstruktor von
Map/Set/WeakMapohnenewaufgerufen wird, erscheint eine Warnung (Firefox-Fehler 1108930). -
Die Methoden
get,hasunddeletevonWeakMap-Objekten lösen keine Ausnahme mehr aus, wenn der Parameterkeykein Objekt ist (Firefox-Fehler 1127827). -
Der optionale, nicht standardisierte zweite Parameter
fallbackvonWeakMap.prototype.get()wurde entfernt (Firefox-Fehler 1127827). -
Bei der Definition einer Generatormethode sind
setundgetnun als Namen zulässig (Firefox-Fehler 1073809). -
RegExp.prototype.sourcegibt für leere reguläre Ausdrücke nun "(?:)" statt einer leeren Zeichenfolge zurück (Firefox-Fehler 1130798). -
RegExp.prototype.sourceundRegExp.prototype.toString()maskieren Muster regulärer Ausdrücke nun korrekt (z. B. Zeilenabschlusszeichen wie "\n") (Firefox-Fehler 1130860). -
Die Eigenschaften
global,ignoreCase,multilineundstickyvonRegExpsind nun Accessor-Eigenschaften des Prototyps statt eigener Dateneigenschaften vonRegExp-Instanzen (Firefox-Fehler 1120169). -
Die Eigenschaft
RegExp.prototype.sourceist nun eine Accessor-Eigenschaft des Prototyps statt einer eigenen Dateneigenschaft vonRegExp-Instanzen (Firefox-Fehler 1120169). Aufgrund von Firefox-Fehler 1150297 ist diese Änderung nur in Versionen außerhalb des Release-Kanals verfügbar. -
Function.prototype.toString()löst beiProxy-Objekten nun eine Ausnahme aus (Firefox-Fehler 1100936).
Schnittstellen/APIs/DOM
- Die Methode
fetch()der Fetch API wurde implementiert (Firefox-Fehler 1039846). - Die
BroadcastChannel-API wurde implementiert und ist in Web Workers verfügbar (Firefox-Fehler 966439 und Firefox-Fehler 1121420). - Die Console API ist nun in Web Workers verfügbar.
CanvasRenderingContext2D.clearHitRegions()wurde implementiert (Firefox-Fehler 1119527).- Die Konstanten
DOM_KEY_LOCATION_MOBILEund DOM_KEY_LOCATION_JOYSTICK fürKeyboardEvent.locationwurden entfernt, da sie aus der DOM-Level-3-Spezifikation entfernt wurden (Firefox-Fehler 936313. KeyboardEvent.codeist nun verfügbar; zuvor war die Eigenschaft nur in Vorabversionen verfügbar. (Firefox-Fehler 1126673)KeyboardEvent.codeunterstützt nun Sondertasten auf Sun-Tastaturen unter Linux, Android und Firefox OS. (Firefox-Fehler 1020139)- Der Konstruktor
TextEncoder()wurde an die Spezifikation angepasst: Bei Übergabe eines ungültigen Parameters wird nun einRangeErrorstatt des fälschlicherweise ausgelöstenTypeErrorausgelöst (Firefox-Fehler 1125766). - Die User Timing API wurde mit
Performance.mark(),Performance.clearMarks(),Performance.measure()undPerformance.clearMeasures()implementiert (Firefox-Fehler 782751). - Die Version von
Window.indexedDBmit Präfix,mozIndexedDB, wurde entfernt (Firefox-Fehler 975699). - Das Ereignis
DOMContentLoadedkann nicht mehr abgebrochen werden (Firefox-Fehler 1134559). - Sie können WebSockets nun in Workers verwenden (Firefox-Fehler 504553).
- Die Eigenschaften
XMLHttpRequest.responseTypeundXMLHttpRequest.withCredentialskönnen nun vor dem Aufruf vonXMLHttpRequest.open()gesetzt werden (Firefox-Fehler 707484).
MathML
Keine Änderungen.
SVG
Keine Änderungen.
Audio/Video
Keine Änderungen.
Netzwerk
Keine Änderungen.
Sicherheit
- In Firefox wird das Attribut
autocomplete=falsebei Anmeldeformularen nun ignoriert (Firefox-Fehler 1025703). Dadurch sollen sicherere Passwörter gefördert werden, da Passwortmanager zuverlässiger funktionieren können. - RC4 ist bei Verwendung von TLS nun deaktiviert, mit Ausnahme einiger ausdrücklich zugelassener Websites. Diese Positivliste ist eine Übergangsmaßnahme, bis die betreffenden Websites korrigiert wurden (Firefox-Fehler 1124039). Dieser Fallback wird durch die Einstellung
security.tls.unrestricted_rc4_fallbackgesteuert, die derzeit standardmäßig auftruegesetzt ist (Firefox-Fehler 1138882). - Websites, die nur mit einem Rückgriff auf eine unsichere TLS-Version funktionieren, stehen nun auf einer fest im Code hinterlegten Positivliste, die mit der Zeit verkleinert wird (Firefox-Fehler 1114816). Die Positivliste kann deaktiviert werden, indem
security.tls.insecure_fallback_hosts.use_static_listauffalsegesetzt wird.
Änderungen für Add-on- und Mozilla-Entwickler
>Add-on SDK
Highlights
sdk/context-menu@2wurde implementiert (Firefox-Fehler 1070952).sdk/addon/bootstrapwurde implementiert (Firefox-Fehler 1075541).sdk/windows/loaderwurde entfernt (Firefox-Fehler 970135).- Die Erkennung der Standardsprache unter Linux wurde korrigiert (Firefox-Fehler 1114712).
toolkit/loaderbietet nun eine optionale Prüfung der Modulkompatibilität, die für alle jpm-Add-ons aktiviert ist (Firefox-Fehler 1037235).
Aktualisierungen für Electrolysis (E10s)
- E10s-Aktualisierungen für
sdk/page-worker(Firefox-Fehler 1116004). - E10s-Aktualisierungen für
sdk/content/worker(Firefox-Fehler 1116544). - E10s-Aktualisierungen für
sdk/tabs(Firefox-Fehler 1033838).
Details
XUL
Keine Änderungen.
JavaScript-Codemodule
Downloads.jsm
DownloadTarget-Objekte verfügen nun über die Eigenschaftenexistsundsize. Damit können Sie feststellen, ob die Zieldatei des Downloads auf dem Datenträger vorhanden ist und wie groß sie ist. Die neue Methoderefresh()fordert eine Aktualisierung dieser Werte an.
XPCOM
"@mozilla.org/network/atomic-file-output-stream;1"und"@mozilla.org/network/safe-file-output-stream;1"lösen nun eine Ausnahme aus, wennPR_APPENDohnePR_TRUNCATEübergeben wird (Firefox-Fehler 1117580).nsICompositionStringSynthesizerundnsIDOMWindowUtils.sendCompositionEvent()wurden entfernt. Verwenden Sie stattdessennsITextInputProcessor. (Firefox-Fehler 917322)nsIDOMWindowUtils.sendKeyEvent()ist nun veraltet. Verwenden Sie stattdessennsITextInputProcessor(Firefox-Fehler 1119609).