Firefox 15 – Versionshinweise für Entwickler
Firefox 15 wurde am 28. August 2012 veröffentlicht. Dieser Artikel beschreibt wichtige Änderungen für Webentwickler, Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.
Änderungen für Webentwickler
>HTML
- Das
size-Attribut des<font>-Elements wird jetzt gemäß der HTML5-Spezifikation behandelt. Das bedeutet, dass alle ganzzahligen Werte größer als 10 beziehungsweise kleiner als -10 nun als gleichbedeutend mit 10 beziehungsweise -10 gelten. - Die Unterstützung für die Attribute
font-weightundpoint-sizedes<font>-Elements wurde entfernt. Diese Attribute waren nicht standardisiert, und Gecko war die einzige Engine, die sie unterstützte. - Der Opus-Codec wird jetzt für Audio in Ogg-Containern bei den HTML-Elementen
<audio>und<video>unterstützt. - Das
<source>-Element unterstützt jetzt dasmedia-Attribut. - Die Elemente
<audio>und<video>unterstützen jetzt das Attributplayed. Es liefert einTimeRanges-Objekt, das die Zeitbereiche der bisher wiedergegebenen Medieninhalte auflistet.
CSS
- Die Eigenschaft
font-feature-settingswurde auf die aktuelle Syntax aktualisiert:font-feature-settings: "lnum" 1; - Die CSS-Eigenschaft
text-transformwurde erweitert, sodass Unicode-Ligaturzeichen (wiefi) korrekt verarbeitet werden. - Die CSS-Eigenschaft
word-breakwurde implementiert. - Die Eigenschaft
border-imagewurde an die aktuelle Spezifikation angepasst; die Präfixe ihrer Eigenschaften wurden entfernt. (Bug 713643) - Die in Firefox 14 entfernte
transform-Funktionskew()wurde aus Gründen der Kompatibilität mit bestehenden Websites wiederhergestellt. Autoren wird jedoch empfohlen, stattdessen die FunktionenskewX()undskewY()zu verwenden. - Der Wert
plaintextder CSS-Eigenschaftunicode-bidigilt jetzt auch für Inline-Elemente. (Firefox-Bug 746987)
DOM
- Die Methoden
KeyboardEvent.getModifierState()undMouseEvent.getModifierState()aus DOM Events Level 3 wurden implementiert. Mit ihnen lässt sich der Zustand von Modifikatortasten wieCtrloderShiftabfragen (Bugs 630811 und 731878). Das Verhalten entspricht jedoch dem aktuellen D3E-Entwurf. Daher unterscheiden sich einige Namen von Modifikatortasten von denen in IE (Firefox-Bug 769190). - Für Mausereignisse wurde die Abfrage des Zustands der Maustasten über das Attribut
MouseEvent.buttonsimplementiert. - Für Tastaturereignisse wurde die Abfrage der Tastenposition (Standardposition, linke oder rechte Modifikatortaste oder Ziffernblock) über das Attribut KeyboardEvent.location implementiert (Firefox-Bug 166240).
- Der Wert von KeyboardEvent.keycode wird nach verbesserten Regeln berechnet, die unter Windows, Linux und Mac nahezu identisch sind. Die Werte stehen jetzt auch für einige Tastaturlayouts unter Linux und Mac zur Verfügung, die nicht ASCII-fähig sind, etwa arabische, kyrillische und thailändische Layouts. Weitere Informationen finden Sie im Dokument über virtuelle Tastencodes.
- Die Methode
range.detach()wurde in eine wirkungslose Operation umgewandelt und wird voraussichtlich künftig entfernt. - Die Methode
HTMLVideoElement.mozHasAudio()wurde implementiert. Sie gibt an, ob einem bestimmten Videoelement eine Audiospur zugeordnet ist. (Bug 480376) - Die
Performance-API verfügt über die neue Methodenow(), die hochauflösende Zeitmessungen vom TypDOMHighResTimeStampunterstützt. (Bug 539095) - Die WebSMS-API wurde aktualisiert und unterstützt jetzt ein
read-Attribut, das angibt, ob eine SMS-Nachricht gelesen wurde oder ungelesen ist. - Die FileHandle-API wurde implementiert.
- Der Konstruktor
Blobakzeptiert für den ParameterblobPartsjetzt nebenArrayBufferauchArrayBufferView. (Bug 752402) - Das im Ambient Light Events Working Draft spezifizierte
DeviceLightEventwurde implementiert. - Die Proximity Events
DeviceProximityEventundUserProximityEventwurden implementiert. - Die Eigenschaft
lastModifiedDatevonFilewurde implementiert. (Firefox-Bug 673586)
JavaScript
- Die Unterstützung für die Schnittstelle
DataViewaus der Typed-Arrays-Spezifikation wurde hinzugefügt. Sie ermöglicht den Zugriff auf die in einemArrayBufferenthaltenen Daten auf niedriger Ebene. - Die Unterstützung für neue integrierte Funktionen aus ECMAScript 2015 wurde hinzugefügt:
Number.isNaN(),Number.toInteger(),Number.isInteger()undNumber.isFinite(). (Bug 749818, Bug 761495, Bug 761480) - Die Unterstützung für Standardparameter aus ECMAScript 2015 wurde hinzugefügt. (Bug 757676)
- Die Unterstützung für Rest-Parameter aus ECMAScript 2015 wurde hinzugefügt. (Bug 574132)
WebGL
- Die Unterstützung für die Erweiterung
WEBGL_compressed_texture_s3tcwurde hinzugefügt. Komprimierte Texturen verringern den Speicherbedarf einer Textur auf der GPU. Dadurch können Texturen mit höherer Auflösung oder mehr Texturen mit derselben Auflösung verwendet werden.
MathML
- Mathematische Operatoren können jetzt herunterladbare Schriftarten verwenden, die mit
@font-faceangegeben werden. Dadurch funktioniert das Add-on MathML-fonts auch mit dehnbaren Operatoren. - Das Attribut
selectionvon<maction>wird jetzt nur noch beim actiontypetoggleberücksichtigt. - Die veraltete Namedspace-Bindung wurde entfernt (Firefox-Bug 673759).
- Die unterstützte Syntax für Length- und
<mpadded>-Werte wurde stärker an die MathML3-Spezifikation angeglichen. - Dem Operatorverzeichnis wurden neue spiegelbare MathML-Operatoren für die arabische Mathematik hinzugefügt (Firefox-Bug 757125).
SVG
- Die Unterstützung für das
<view>-Element wurde hinzugefügt (Firefox-Bug 512525).
Netzwerk
- Die Unterstützung für das Protokoll SPDY v3 wurde hinzugefügt. Sie ist standardmäßig deaktiviert und kann aktiviert werden, indem die Einstellung
network.http.spdy.enabled.v3auf true gesetzt wird. (Bug 737470)
Änderungen für Add-on- und Mozilla-Entwickler
>Änderungen an Schnittstellen
nsIDOMWindowUtils-
aModifiersvonsendMouseEvent(),sendTouchEvent(),sendMouseEventToWindow(),sendMouseScrollEvent()undsendKeyEvent()unterstützt alle Modifikatortasten, die auchKeyboardEvent.getModifierState()unterstützt. Verwenden Sie die WerteMODIFIER_*. Außerdem wurde der Typ des fünften Parameters vonsendKeyEvent()vonbooleaninunsigned longgeändert. Aus Gründen der Abwärtskompatibilität bleibt das Verhalten unverändert, wenn der Aufrufertrueoderfalseübergibt. Durch diese Änderung können Aufrufer die Position der Taste angeben. nsIBrowserHistory-
Die Methode
hidePage()wurde nie implementiert und in dieser Version vollständig entfernt. Auch die MethodeaddPageWithDetails()wurde im Zuge der laufenden Umstellung aller „Places APIs“ auf asynchrone Verarbeitung entfernt. Verwenden Sie stattdessenmozIAsyncHistory.updatePlaces(). Außerdem wurde das Attributcountentfernt: Es gab seit einiger Zeit keine tatsächliche Anzahl mehr zurück, sondern zeigte lediglich an, ob Einträge vorhanden waren. Stattdessen können SiensINavHistoryService.hasHistoryEntriesverwenden. nsIDOMUtils-
Die Methode
nsIDOMUtils.parseStyleSheet()wurde hinzugefügt. Sie ermöglicht das Parsen und erneute Parsen von Cascading Style Sheets. nsIINIParserWriter-
Die Methode
nsIINIParserWriter.writeFile()akzeptiert jetzt eine Eigenschaftflags. Derzeit bietet sie nur eine Option: Sie können festlegen, dass die Datei für eine bessere Kompatibilität mit Windows und bestimmten Installationsprogrammen im UTF-16- statt im UTF-8-Format geschrieben wird.
Neue Schnittstellen
nsISpeculativeConnect-
Bietet die Möglichkeit, der Netzwerkschicht mitzuteilen, dass Sie voraussichtlich in naher Zukunft eine Verbindung zu einem bestimmten URI anfordern werden. So kann die Netzwerkschicht frühzeitig mit dem Öffnen einer neuen Netzwerkverbindung beginnen, was mitunter viel Zeit in Anspruch nimmt.
Entfernte Schnittstellen
Die folgenden Schnittstellen wurden entfernt:
nsIGlobalHistory