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. Der auto-Wert entspricht horizontal, 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

SVG

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 experimentellen X-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).

Arbeiter

Ä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/ und resource://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 mit resource:///modules/ laden, sollten Sie prüfen, ob Sie stattdessen resource://gre/modules/ verwenden möchten. Beachten Sie, dass einige Module auch von Firefox zu Toolkit verschoben wurden (Firefox Bug 840287 und Firefox Bug 811548 haben NewTabUtils.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 oder onItemRemoved:

      • 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.

Siehe auch