Firefox 21 für Entwickler
Firefox 21 wurde am 14. Mai 2013 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler, sondern auch für Firefox- und Gecko-Entwickler sowie für Add-on-Entwickler nützlich sind.
Änderungen für Webentwickler
HTML
- Das Attribut
scoped
wurde dem<style>
-Element hinzugefügt. Es ermöglicht das Einfügen von Stilen, die vom Rest des Dokuments isoliert sind. Solche Stile können mit dem:scope
CSS-Pseudoelement ausgewählt werden, das in Firefox 20 eingeführt wurde. (Firefox Bug 508725). - Das neue HTML
<main>
-Element wurde implementiert (Firefox Bug 820508).
JavaScript
- ECMAScript for XML (E4X), eine alte JavaScript-Erweiterung, wurde entfernt. Es wurde nur in Gecko implementiert und hat nie signifikante Verbreitung gefunden (Firefox Bug 788293).
- parseInt behandelt Zeichenfolgen mit führender "0" nicht mehr als oktal (Firefox Bug 786135).
CSS
- Der Wert
none
von-moz-user-select
hat jetzt dasselbe Verhalten wie der Wert-moz-none
, was Gecko mit WebKit (Chrome, Safari), Presto (Opera) und Trident (Internet Explorer) angleicht (Firefox Bug 816298). - Bei XHTML-Inhalten wurden die Trennungsregeln des
auto
-Werts von-moz-hyphens
fälschlicherweise angewendet, wenn die Sprache nicht explizit deklariert war. Dies wurde behoben durch (Firefox Bug 702121). - Ein
auto
-Wert wurde zur CSS-Eigenschaft-moz-orient
hinzugefügt. Derauto
-Wert entsprichthorizontal
, wenn er auf<meter>
und<progress>
angewendet wird (Firefox Bug 835883). - Die Media Query
-moz-windows-glass
wurde unter Windows 7 und früheren Windows-Systemen hinzugefügt (Firefox Bug 816803).
DOM
- Unterstützung für
RTCPeerConnection
(alsMozRTCPeerConnection
) ist jetzt standardmäßig aktiviert (Firefox Bug 796463). Es kann bei Bedarf wieder deaktiviert werden, indemmedia.peerconnection.enabled
auf false gesetzt wird. - Die
origin
-Eigenschaft wurde zuwindow.location
hinzugefügt (Firefox Bug 828261). - Die Methoden
valueAsDate
undvalueAsNumber
wurden für<input type="time">
hinzugefügt (Firefox Bug 781570). - Die Attribute
min
undmax
gelten jetzt auch für<input type="time">
(Firefox Bug 781572). - Einige neue
keyCodes
für die Lautstärkeregelung werden unterstützt (Firefox Bug 674739). - Einige neue
keyCodes
für alte Tastaturlayouts wie AS/400 werden jetzt unter Windows und Linux unterstützt (Firefox Bug 833719). - Verschiedene
keyCode
-Werte für OEM-spezifische Tasten unter Windows werden jetzt wieder unterstützt (Firefox Bug 833719). - Die Funktion
window.crypto.getRandomValues
wurde implementiert (Firefox Bug 440046). - Die nicht standardmäßigen Methoden
NodeIterator.expandEntityReferences()
undTreeWalker.expandEntityReferences()
wurden entfernt (Firefox Bug 672190). - CSSOM: Die Methode
CSSKeyframesRule.insertRule()
wurde durchCSSKeyframesRule.appendRule()
ersetzt, um einer Spezifikationsänderung zu entsprechen (Firefox Bug 841896). - CSSOM Wenn der gegebene Parameter von
CSSStyleSheet.insertRule
mehr als eine Regel enthält, wird jetzt einDOMException
mit einemSYNTAX_ERR
ausgegeben (Firefox Bug 765599). - Bislang wurden, wenn dieselben Header wiederholt mit
XMLHttpRequest.setRequestHeader
gesetzt wurden, immer die zuletzt angegebenen Werte verwendet. Dieses Verhalten wurde geändert, um der Spezifikation zu entsprechen, sodass diese Werte jetzt korrekt kombiniert werden (Firefox Bug 819051).
SVG
- Das paint-order Attribut wurde implementiert (Firefox Bug 828805).
- Die
svg.smil.enabled
-Einstellung wurde entfernt. SMIL ist immer aktiviert. (Firefox Bug 835030)
Netzwerk
- Wir aktualisieren weiterhin unsere CSP-Implementierung, um der CSP 1.0-Spezifikation zu entsprechen, die den Status "Candidate Recommendation" erreicht hat:
- Unterstützung für den spezifikationskonformen
Content-Security-Policy
HTTP-Header (zusätzlich zum experimentellenX-Content-Security-Policy
) wurde hinzugefügt (Firefox Bug 783049).Hinweis: Der Patch für diesen neuen Header wurde in Firefox 21 implementiert, ist aber in den Builds deaktiviert (Firefox Bug 842657).
- Unterstützung für den spezifikationskonformen
Arbeiter
- Die Funktionen
URL.createObjectURL()
undURL.revokeObjectURL()
sind jetzt Teil der Funktionen, die Arbeitern zur Verfügung stehen.
Änderungen für Add-on- und Mozilla-Entwickler
-
FUEL-Anwendungen können den Livemarks-Dienst nicht mehr verwenden (Firefox Bug 834492). Der Livemarks-Dienst wird zugunsten der neuen asynchronen Schnittstelle eingestellt und ausgemustert.
-
resource:///modules/
undresource://gre/modules/
sind nicht mehr identisch (Firefox Bug 755724). Diese Änderung wurde aufgrund der Arbeiten an der Metro-Version von Firefox vorgenommen. Wenn Sie Module mitresource:///modules/
laden, sollten Sie prüfen, ob Sie stattdessenresource://gre/modules/
verwenden möchten. Beachten Sie, dass einige Module auch von Firefox zu Toolkit verschoben wurden (Firefox Bug 840287 und Firefox Bug 811548 habenNewTabUtils.jsm
und die Thumbnail-Module verschoben). -
Das Add-on SDK ist jetzt in Firefox enthalten (Firefox Bug 731779)
-
Die History-API hat zahlreiche veraltete API entfernt:
-
Ersetzt durch
mozIAsyncFavicons
:nsIFaviconService::setFaviconUrlForPage
nsIFaviconService::setFaviconData
nsIFaviconService::getFaviconData
nsIFaviconService::getFaviconForPage
nsIFaviconService::setAndLoadFaviconForPage
nsIFaviconService::getFaviconImageForPage
nsIFaviconService::getFaviconDataAsDataURL
-
Ersetzt durch
mozIAsyncLivemarks
:nsILivemarkService::*
PlacesUtils.itemIsLivemark
PlacesUtils.nodeIsLivemarkContainer
PlacesUtils.nodeIsLivemarkItem
-
Nur das dritte Argument entfernt:
PlacesUIUtils.showBookmarkDialog
-
Nicht mehr durch Places implementiert, verwenden Sie
mozIAsyncHistory
stattdessen:nsIGlobalHistory2::addURI
nsIGlobalHistory2::isVisited
nsIGlobalHistory2::setPageTitle
-
Nicht mehr benötigt, verwenden Sie
onDeleteURI
oderonItemRemoved
:nsINavHistoryObserver::OnBeforeDeleteURI
nsINavBookmarkObserver::OnBeforeItemRemoved
-
Nie richtig implementiert:
nsINavHistoryFullVisitResultNode
-
Veraltet, verwenden Sie
mozIAsyncHistory::updatePlaces
:nsINavHistoryService::AddVisit
-
-
nsIHttpChannel.redirectTo
wurde hinzugefügt, um HTTP-Kanäle ohne fragile Hacks umzuleiten.