Veröffentlichungsnotizen zu Firefox 20 für Entwickler
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-Bug 676619). - Der Wert
autofür das globale Attributdirwurde implementiert (Firefox-Bug 548206). - Das globale Attribut
contextmenufunktioniert jetzt in Firefox für Android (Firefox-Bug 736321).
JavaScript
- Unterstützung für die Methode
WeakMap.prototype.clear(), die kürzlich dem Harmony (ECMAScript 2015) Entwurf hinzugefügt wurde (Firefox-Bug 814562). - Unterstützung für die Methode
Math.imul(), eine C-Stil 32-Bit-Multiplikationsfunktion. Obwohl sie für Harmony (ECMAScript 2015) vorgeschlagen wurde, ist sie noch nicht akzeptiert und bleibt nicht standardisiert (Firefox-Bug 808148). - Web-Apps, die ziehbaren Text mit Kinetic 3.x verwenden, funktionieren, auch wenn sie das Cairo-Canvas-Backend verwenden (Firefox-Bug 835064).
- Die Anweisung
for each...inist veraltet und sollte nicht verwendet werden. Erwägen Sie, die neue Anweisungfor...ofzu verwenden (Firefox-Bug 804834). - Unterstützung für
Map.prototype.keys(),Map.prototype.values()undMap.prototype.entries()wurde hinzugefügt (Firefox-Bug 817368).
CSS
- CSS Flexbox ist jetzt standardmäßig nur in Pre-Release-Builds verfügbar (ausgenommen Beta-Versionen). Es kann in Release- und Beta-Versionen aktiviert werden, indem die
layout.css.flexbox.enabledabout:config-Einstellungen auftruegesetzt werden. - Die Eigenschaft
mask-typewurde hinzugefügt (Firefox-Bug 793617). - Experimentelle Unterstützung für die
:scopePseudo-Klasse wurde hinzugefügt. Standardmäßig in Aurora und Nightly aktiviert, kann es in Release- und Beta-Versionen aktiviert werden, indem dielayout.css.scope-pseudo.enabledabout:config-Einstellung auftruegesetzt wird (Firefox-Bug 648722).
DOM/APIs
HTMLMediaElementunterstützt jetztplaybackRate(sowohl Lese- als auch Schreibzugriff) mit Tonhöhenkorrektur. Die Tonhöhenkorrektur kann über die EigenschaftmozPreservesPitchgesteuert werden (Firefox-Bug 495040).- CSSOM: Unterstützung für die neuen
CSSGroupingRuleundCSSConditionRulewurde hinzugefügt (Firefox-Bug 814907). - CSSOM: Bei
CSSRulewurden die Konstanten CSSRule.MOZ_KEYFRAME_RULE und CSSRule.MOZ_KEYFRAMES_RULE auf CSSRule.KEYFRAME_RULE und CSSRule.KEYFRAMES_RULE unpräfixiert. Die präfixierte Version wird vorübergehend beibehalten, um Webautoren bei der Anpassung ihres Codes zu unterstützen (Firefox-Bug 816431). - CSSOM: Es ist jetzt möglich, den Wert von
conditionTextfürCSSMediaRulefestzulegen (Firefox-Bug 815021). - Die Methoden
parseFromStreamundparseFromBufferdesDOMParsersind nicht mehr aus Webinhalten verfügbar (Firefox-Bug 816410). - Die Methode
serializeToStreamdesXMLSerializerist nicht mehr aus Webinhalten verfügbar (Firefox-Bug 816410). - Die Schnittstellen
TextDecoderundTextEncodersind jetzt in Workern verfügbar (Firefox-Bug 795542). - Unterstützung für die Methode
CSS.supports()wurde hinzugefügt, hinter derlayout.css.supports-rule.enabled-Einstellung (standardmäßig deaktiviert) (Firefox-Bug 779917). - Unterstützung für den
UndoManagerwurde hinzugefügt (Firefox-Bug 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 alsNavigator.mozGetUserMediavorgeprägt, ist jetzt standardmäßig aktiviert.- Das dritte, optionale
transfer-Argument vonWindow.postMessagewird jetzt unterstützt. Es erlaubt das Übertragen einer Sequenz von übertragbaren Objekten an das Ziel (Firefox-Bug 822094). - Die nicht standardisierte Methode
Window.sizeToContent()begrenzt jetzt die minimale Größe: Das Fenster kann nicht mehr auf kleine Größen gezwungen werden, die den Benutzer daran hindern, mit ihm zu interagieren (Firefox-Bug 764240). - Mischmodi wie
overlay,color-burn,hueusw. wurden zur Canvas-EigenschaftCanvasRenderingContext2D.globalCompositeOperationhinzugefügt (Firefox-Bug 748433). - Die präfixierte Version von
window.indexedDB—window.mozIndexedDB— wurde in Gecko reaktiviert, sodass schlechtes Cross-Browser-Prefixing (wievar indexedDB = window.indexedDB || window.webkitIndexedDB …) in Firefox nicht kaputtgeht. Ein besserer Ansatz istwindow.indexedDB = window.indexedDB || window.webkitIndexedDB …(siehe Firefox-Bug 770844).
SVG
- Die Implementierung der Eigenschaften
contentScriptTypeundcontentStyleTypewurde aus demSVGSVGElemententfernt, zusammen mit der Entfernung aus SVG2 (Firefox-Bug 819731).
MathML
- Um MathML-Autoren bei der Fehlersuche nach "ungültige-Markup"-Fehlern in ihren Dokumenten zu unterstützen, werden MathML-Parsing-Fehler (wie zu viele / zu wenige Kindelemente) und Warnungen über veraltete Attribute oder falsche Attributwerte jetzt an die Fehlerkonsole gemeldet.
- Das
scriptminsize-Attribut akzeptiert jetzt einheitenlose Werte und Prozentwerte. Sie werden als Vielfache des Standardwerts (8pt) interpretiert. - Einheitlose Werte sind jetzt auch für die Attribute
mathsizeundfontsizeerlaubt; sie multiplizieren den Standardwert.
Änderungen für Add-on- und Mozilla-Entwickler
- ECMAScript for XML (E4X) ist jetzt vollständig für alle Chrome- und Inhaltsskripte deaktiviert. Es wurde zuvor in Firefox 17 für Inhalte deaktiviert und wird für Firefox 21 vollständig entfernt. Verwenden Sie stattdessen DOMParser/DOMSerializer oder einen nicht-nativen JXON-Algorithmus.
- Die Schnittstelle
nsIDOMParserJSexistiert nicht mehr (Firefox-Bug 816410). SiehensIDOMParserfür Alternativen. - Inhaltseinstellungen: Die Schnittstelle
nsIContentPrefServiceist jetzt veraltet und die asynchronensIContentPrefService2-Speicher-API wurde implementiert. - Die Schnittstellen
nsIProfileundnsIProfileChangeStatuswurden entfernt, zusammen mit anderem Code zur Unterstützung des alten Firefox-Profilverwaltungssystems. Wahrscheinlich haben Sie diese Schnittstellen nicht verwendet, aber wenn doch, sollten Sie damit aufhören. Dies verhindert, dass überholte Teile des Profilverwaltungssystems den Abschaltvorgang blockieren. - Die Schnittstelle
nsIEventSourceexistiert nicht mehr (Firefox-Bug 819639).