Veröffentlichungsnotizen für Entwickler zu Firefox 20
Firefox 20 wurde am 2. April 2013 veröffentlicht. Dieser Artikel bietet Informationen über die Änderungen in dieser Version, die Entwickler betreffen werden.
Änderungen für Webentwickler
>HTML
- Unterstützung für das
download-Attribut bei den<a>und<area>Elementen wurde hinzugefügt (Firefox Fehler 676619). - Der Wert
autofür das globale Attributdirwurde implementiert (Firefox Fehler 548206). - Das globale Attribut
contextmenufunktioniert nun in Firefox für Android (Firefox Fehler 736321).
JavaScript
- Unterstützung für die
WeakMap.prototype.clear()-Methode, die kürzlich zum Harmony (ECMAScript 2015) Entwurfsvorschlag hinzugefügt wurde, wurde hinzugefügt (Firefox Fehler 814562). - Unterstützung für die
Math.imul()-Methode, eine C-ähnliche 32-Bit-Multiplikationsfunktion. Obwohl sie für Harmony (ECMAScript 2015) vorgeschlagen wurde, ist sie noch nicht akzeptiert worden und ist weiterhin nicht standardisiert (Firefox Fehler 808148). - Web-Apps, die verschiebbare Texte mit Kinetic 3.x verwenden, funktionieren jetzt, auch wenn das Cairo-Canvas-Backend verwendet wird (Firefox Fehler 835064).
- Die
for each...in-Anweisung wurde veraltet und sollte nicht mehr verwendet werden. Erwägen Sie, die neuefor...of-Anweisung zu verwenden (Firefox Fehler 804834). - Unterstützung für die
Map.prototype.keys(),Map.prototype.values(), undMap.prototype.entries()wurde hinzugefügt (Firefox Fehler 817368).
CSS
- CSS Flexbox ist nun standardmäßig nur in Vorabversionen verfügbar (ausgenommen Betaversionen). Es kann in der Release- und Betaversion aktiviert werden, indem die
layout.css.flexbox.enabledabout:config Präferenz auftruegesetzt wird. - Die
mask-type-Eigenschaft wurde hinzugefügt (Firefox Fehler 793617). - Experimentelle Unterstützung für die
:scopePseudo-Klasse wurde hinzugefügt. In Aurora und Nightly standardmäßig aktiviert, kann sie in der Release- und Betaversion aktiviert werden, indem dielayout.css.scope-pseudo.enabledabout:config Präferenz auftruegesetzt wird (Firefox Fehler 648722).
DOM/APIs
HTMLMediaElementunterstützt jetztplaybackRate(sowohl Lese- als auch Schreibzugriff), mit Tonhöhenkorrektur. Die Tonhöhenkorrektur kann über die EigenschaftmozPreservesPitchgesteuert werden (Firefox Fehler 495040).- CSSOM: Unterstützung für die neuen
CSSGroupingRuleundCSSConditionRulewurde hinzugefügt (Firefox Fehler 814907). - CSSOM: Bei
CSSRulewurden die Konstanten CSSRule.MOZ_KEYFRAME_RULE und CSSRule.MOZ_KEYFRAMES_RULE ohne Präfix auf CSSRule.KEYFRAME_RULE und CSSRule.KEYFRAMES_RULE umgestellt. Die Version mit Präfix wird vorübergehend beibehalten, um Web-Autoren beim Übergang ihres Codes zu unterstützen (Firefox Fehler 816431). - CSSOM: Es ist nun möglich, den Wert von
conditionTextfürCSSMediaRulezu setzen (Firefox Fehler 815021). - Die Methoden
parseFromStreamundparseFromBufferdesDOMParsersind aus Webinhalten nicht mehr verfügbar (Firefox Fehler 816410). - Die Methode
serializeToStreamdesXMLSerializerist aus Webinhalten nicht mehr verfügbar (Firefox Fehler 816410). - Die Schnittstellen
TextDecoderundTextEncodersind jetzt in Workern verfügbar (Firefox Fehler 795542). - Unterstützung für die
CSS.supports()-Methode wurde hinzugefügt, hinter derlayout.css.supports-rule.enabledPräferenz (standardmäßig deaktiviert) (Firefox Fehler 779917). - Unterstützung für UndoManager wurde hinzugefügt (Firefox Fehler 617532).
- Die CSSOM-Methode
Document.caretPositionFromPoint(), die eineCaretPositionzurückgibt, wurde implementiert. - Das Index-Argument der Methoden
HTMLTableRowElement.insertCell()undHTMLTableElement.insertRow()wurde gemäß HTML-Spezifikation optional gemacht. Navigator.getUserMedia, noch immer mit dem PräfixNavigator.mozGetUserMedia, ist jetzt standardmäßig aktiviert.- Das dritte, optionale
transfer-Argument vonWindow.postMessagewird nun unterstützt. Es erlaubt Ihnen, eine Sequenz von übertragbaren Objekten an das Ziel zu übertragen (Firefox Fehler 822094). - Die nicht standardmäßige Methode
Window.sizeToContent()klemmt nun die minimale Größe: Das Fenster kann nicht mehr auf kleine Größen gezwungen werden, die die Interaktion des Benutzers verhindern (Firefox Fehler 764240). - Mischmodi, wie
overlay,color-burn,hue, etc. wurden zurCanvasRenderingContext2D.globalCompositeOperation-Eigenschaft der Leinwand hinzugefügt (Firefox Fehler 748433). - Die Version mit Präfix von
window.indexedDB—window.mozIndexedDB— wurde in Gecko neu eingeführt, sodass schlechtes Cross-Browser-Prefix-Coding (wievar indexedDB = window.indexedDB || window.webkitIndexedDB …) in Firefox nicht mehr fehlschlägt. Eine bessere Vorgehensweise istwindow.indexedDB = window.indexedDB || window.webkitIndexedDB …(siehe Firefox Fehler 770844.)
SVG
- Die Implementierung der Eigenschaften
contentScriptTypeundcontentStyleTypewurde aus demSVGSVGElemententfernt, zusammen mit der Entfernung aus SVG2 (Firefox Fehler 819731).
MathML
- Zur Unterstützung von MathML-Autoren beim Debuggen von "ungültige-Markup"-Fehlern in ihren Dokumenten werden jetzt MathML-Parsing-Fehler (wie zu viele/zu wenige untergeordnete Elemente) und Warnungen über veraltete Attribute oder falsche Attributwerte an die Fehlerkonsole gemeldet.
- Das
scriptminsize-Attribut akzeptiert nun werteinheitenlose Werte und Prozentwerte. Sie werden als Vielfache des Standardwertes (8pt) interpretiert. - Werteinheitenlose Werte sind jetzt auch für die Attribute
mathsizeundfontsizeerlaubt; sie multiplizieren den Standardwert.
Änderungen für Add-on- und Mozilla-Entwickler
- ECMAScript für XML (E4X) ist nun vollständig für alle Chrome- und Inhalts-Skripten deaktiviert. Es war zuvor für Inhalte in Firefox 17 deaktiviert und wurde vollständig für Firefox 21 entfernt. Verwenden Sie DOMParser/DOMSerializer oder einen nicht-nativen JXON-Algorithmus.
- Die
nsIDOMParserJS-Schnittstelle existiert nicht mehr (Firefox Fehler 816410). SiehensIDOMParserfür Alternativen. - Inhaltspräferenzen: Die
nsIContentPrefService-Schnittstelle ist jetzt veraltet und die asynchronensIContentPrefService2-Speicher-API wurde implementiert. - Die Schnittstellen
nsIProfileundnsIProfileChangeStatuswurden zusammen mit anderem Code, der das vor-Firefox-Profilverwaltungssystem unterstützt, entfernt. Sie haben diese Schnittstellen wahrscheinlich nicht verwendet, aber wenn, sollten Sie damit aufhören. Dies verhindert, dass überholte Teile des Profilsystems den Shutdown-Prozess blockieren. - Die
nsIEventSource-Schnittstelle existiert nicht mehr (Firefox Fehler 819639).