Firefox 15 Release Notes für Entwickler
Firefox 15 wurde am 28. August 2012 veröffentlicht. Dieser Artikel listet wesentliche Änderungen auf, die nicht nur für Webentwickler interessant sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.
Änderungen für Webentwickler
>HTML
- Das
size-Attribut des<font>-Elements wird nun gemäß der HTML5-Spezifikation behandelt. Das bedeutet, dass alle Ganzzahlen größer als 10 oder kleiner als -10 nun als gleichwertig mit 10 bzw. -10 betrachtet werden. - Die Unterstützung für
font-weightundpoint-sizeAttribute auf dem<font>-Element wurde entfernt; diese waren nicht standardisiert und Gecko war die einzige Engine, die sie unterstützte. - Der Opus Codec wird jetzt für Audio in Ogg-Containern für die HTML
<audio>und<video>Elemente unterstützt. - Das
<source>-Element unterstützt jetzt dasmedia-Attribut. - Die
<audio>und<video>-Elemente unterstützen jetzt dasplayedAttribut, das einTimeRangesObjekt bereitstellt, das die Zeitbereiche auflistet, die bisher zurückgespielt wurden.
CSS
- Die
font-feature-settings-Eigenschaft wurde auf die neueste Syntax aktualisiert:font-feature-settings: "lnum" 1; - Die CSS
text-transformEigenschaft wurde erweitert, um Unicode-Ligaturzeichen (wiefi) korrekt zu behandeln. - Die CSS
word-break-Eigenschaft wurde implementiert. - Die
border-image-Eigenschaft wurde aktualisiert, um der neuesten Spezifikation zu entsprechen, und die Eigenschaften wurden unverändert. (Bug 713643) - Die
skew()transformFunktion, die in Firefox 14 entfernt wurde, wurde aufgrund bestehender Website-Kompatibilität wiederhergestellt. Autoren wird jedoch empfohlen, stattdessenskewX()undskewY()Funktionen zu verwenden. - Der Wert
plaintextder CSSunicode-bidi-Eigenschaft gilt jetzt auch für Inline-Elemente. (Firefox-Bug 746987).
DOM
- Die DOM Events Level 3 Methoden
KeyboardEvent.getModifierState()undMouseEvent.getModifierState(), die es Ihnen ermöglichen, den Zustand der Modifikatortasten wieCtrloderShiftabzufragen, wurden implementiert (Bugs 630811 und 731878). Das Verhalten entspricht jedoch dem neuesten D3E-Entwurf. Daher sind einige Modifikatortastausnahmen von IE unterschiedlich (Firefox-Bug 769190). - Bei Mausereignissen wurde die Unterstützung zum Abfragen des Zustands der Maustasten mit dem
MouseEvent.buttonsAttribut implementiert. - Bei Tastaturereignissen wurde die Unterstützung zum Abfragen der Tastenposition (Standard, links oder rechts der Modifikatortaste, im Numpad) mit dem KeyboardEvent.location Attribut implementiert (Firefox-Bug 166240).
- Das Ergebnis
KeyboardEvent.keycodewurde aus besseren Regeln berechnet, die unter Windows/Linux/Mac nahezu identisch waren. Jetzt sind sie auch für einige Tastaturlayouts verfügbar, die unter Linux und Mac nicht ASCII-fähig sind, wie Arabisch, Kyrillisch, Thai usw. Siehe das Dokument für virtuelle Tastencodes. - Die
range.detach()Methode wurde in eine No-Op umgewandelt und wird wahrscheinlich in Zukunft entfernt. - Die Methode
HTMLVideoElement.mozHasAudio()wurde implementiert. Sie gibt an, ob es einen Audiotrack gibt, der mit einem bestimmten Videoelement verknüpft ist. (Bug 480376) - Die
PerformanceAPI hat eine neue Methode,now(), die hochauflösende Timer vom TypDOMHighResTimeStampunterstützt. (Bug 539095). - Die WebSMS API wurde aktualisiert und unterstützt jetzt ein
readAttribut, das angibt, ob eine SMS-Nachricht gelesen oder ungelesen ist. - Die FileHandle API wurde implementiert.
- Der
BlobKonstruktor akzeptiert jetztArrayBufferViewals Mitglied des ParametersblobPartszusätzlich zuArrayBuffer. (Bug 752402) - Das
DeviceLightEventgemäß dem Ambient Light Events Working Draft wurde implementiert. - Die
DeviceProximityEventundUserProximityEventProximity Events wurden implementiert. - Die
FilelastModifiedDateEigenschaft wurde implementiert. (Firefox-Bug 673586)
JavaScript
- Unterstützung für das
DataViewInterface der Typed Arrays Spezifikation wurde hinzugefügt. Dies bietet Zugriff auf niedriger Ebene auf die Daten, die in einemArrayBufferenthalten sind. - Unterstützung für neue ECMAScript 2015 Built-ins:
Number.isNaN(),Number.toInteger(),Number.isInteger(),Number.isFinite()wurden hinzugefügt. (Bug 749818, Bug 761495, Bug 761480). - Unterstützung für ECMAScript 2015 Standardparameter wurde hinzugefügt. (Bug 757676).
- Unterstützung für ECMAScript 2015 Restparameter wurde hinzugefügt. (Bug 574132).
WebGL
- Unterstützung für die
WEBGL_compressed_texture_s3tcErweiterung wurde hinzugefügt. Komprimierte Texturen reduzieren den Speicherbedarf auf der GPU, was die Verwendung höher auflösender Texturen oder mehrerer Texturen derselben Auflösung ermöglicht.
MathML
- Mathematische Operatoren können jetzt herunterladbare Schriftarten verwenden, die mit
@font-facespezifiziert wurden. Dies ermöglicht, dass das MathML-fonts Add-on auch mit dehnbaren Operatoren funktioniert. - Das
selection-Attribut des<maction>wird jetzt nur mit demtoggle-Actiontype berücksichtigt. - Veraltete Namensraum-Bindungen wurden entfernt (Firefox-Bug 673759).
- Unterstützte Syntax für Length und
<mpadded>Werte wurden näher an jene herangeführt, die in der MathML3-Spezifikation festgelegt sind. - Neue MathML-spiegelbare Operatoren für arabische Mathematik wurden dem Operatorwörterbuch hinzugefügt (Firefox-Bug 757125).
SVG
- Unterstützung für das
<view>Element wurde hinzugefügt (Firefox Bug 512525).
Netzwerk
- Unterstützung für das SPDY v3 Protokoll wurde eingeführt. Es 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
>Schnittstellenänderungen
nsIDOMWindowUtils-
aModifiersvonsendMouseEvent(),sendTouchEvent(),sendMouseEventToWindow(),sendMouseScrollEvent()undsendKeyEvent()unterstützt alle Modifikatortasten, die vonKeyboardEvent.getModifierState()unterstützt werden. Verwenden SieMODIFIER_*Werte. Und jetzt ist der 5. Parameter vonsendKeyEvent()vonbooleaninunsigned longgeändert worden. Für die Rückwärtskompatibilität wird, wenn der Anrufertrueoderfalseübergibt, das Verhalten nicht geändert. Diese Änderung ermöglicht es Anrufern, den Ort der Taste anzugeben. nsIBrowserHistory-
Die
hidePage()-Methode wurde nie implementiert und in dieser Version vollständig entfernt. DieaddPageWithDetails()-Methode wurde im Zuge der laufenden Arbeiten, alle 'Places APIs' asynchron zu gestalten, ebenfalls entfernt; verwenden Sie stattdessenmozIAsyncHistory.updatePlaces(). Auch dascountAttribut wurde entfernt; es hatte seit einiger Zeit keine tatsächliche Zählung mehr zurückgegeben (es zeigte stattdessen an, ob Einträge vorhanden waren oder nicht). Sie können stattdessennsINavHistoryService.hasHistoryEntriesverwenden. nsIDOMUtils-
Die
nsIDOMUtils.parseStyleSheet()Methode wurde hinzugefügt und ermöglicht das (Neu-)Parsen von Cascading Style Sheets. nsIINIParserWriter-
Die
nsIINIParserWriter.writeFile()Methode akzeptiert jetzt eineflagsEigenschaft. Derzeit wird nur eine Option angeboten: Sie können nun angeben, die Datei im UTF-16-Format anstelle von UTF-8 zu schreiben, für bessere Kompatibilität mit Windows und bestimmten Installationsprogrammen.
Neue Schnittstellen
nsISpeculativeConnect-
Bietet eine Möglichkeit, dem Netzwerkschicht mitzuteilen, dass Sie voraussichtlich in naher Zukunft eine Verbindung zu einer bestimmten URI öffnen werden. Dies ermöglicht es der Netzwerkschicht, den manchmal hoch-latenzbehafteten Prozess des Öffnens einer neuen Netzwerkverbindung im Voraus zu beginnen.
Entfernte Schnittstellen
Die folgenden Schnittstellen wurden entfernt:
nsIGlobalHistory