Firefox 14 für Entwickler

Firefox 14 wurde am 17. Juli 2012 veröffentlicht. Dieser Artikel listet wichtige Änderungen auf, die nicht nur für Webentwickler nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.

Änderungen für Webentwickler

HTML

  • Das <progress>-Element wird nicht mehr fälschlicherweise als Formularelement klassifiziert und hat daher keine form-Attribut mehr.
  • Die Standard-Modifier-Tasten für den accesskey von HTML-Inhalten auf Mac wurden auf Control+Option geändert. Dies entspricht den WebKit-basierten Browsern auf Mac.

DOM

  • input-Ereignisse werden auch beim Bearbeiten des Host-Elements von contenteditable-Editoren und Wurzelelementen von designMode-Editoren ausgelöst.
  • DOMException.code wird entsprechend der neuesten DOM Level 4-Spezifikation nun als veraltet angesehen.
  • Die Methode Range.insertNode() funktioniert jetzt korrekt, wenn sie auf kollabierten Bereichen verwendet wird.
  • Die MozBlobBuilder-Schnittstelle wurde zugunsten des Konstruktors in Blob veraltet. Wenn Sie MozBlobBuilder verwenden, wird eine Warnmeldung in der Webkonsole angezeigt.
  • Der Blob()-Konstruktor ist jetzt auch für Worker verfügbar (Firefox-Bug 736686).
  • Unterstützung für die Mutation Observers wurde implementiert. Sie ist als Ersatz für die Mutationsereignisse in DOM3 gedacht, die eine Reihe von Problemen bezüglich der Leistung aufweisen.
  • Die x- und y-Eigenschaften der HTMLImageElement-Schnittstelle wurden in Firefox 7.0 entfernt, aber in dieser Version aus Kompatibilitätsgründen wiederhergestellt.
  • Die Document-Methoden execCommandShowHelp() und queryCommandText(), die nie etwas getan haben, wurden entfernt.
  • Die GeoPositionAddress-Schnittstelle, ein veralteter Teil der Geolocation-API, wurde entfernt.
  • localStorage/sessionStorage geben jetzt korrekt undefined statt null für nicht deklarierte Schlüssel durch Eigenschaftenzugriff zurück.
  • Das ImageData-Objekt wurde implementiert (Firefox-Bug 550309).
  • Attribute und Methoden, die sich auf Kindknoten der Attr-Schnittstelle beziehen, wurden obsolet (Firefox-Bug 737122).

CSS

  • Die CSS-Eigenschaften text-transform und font-variant wurden korrigiert, um die turkikspezifischen Fallpaare iİ und ıI korrekt zu behandeln.
  • Der niederländische IJ-Digraph wird jetzt korrekt durch text-transform: capitalization behandelt. Ebenso wird der griechische Buchstabe Σ, der zwei Kleinbuchstabenformen hat, σ und ς, jetzt korrekt durch text-transform: lowercase behandelt.
  • Unterstützung für die skew()-Funktion wurde aus der transform-Eigenschaft entfernt, da sie aus dem Entwurfsstandard entfernt wurde.
  • Die Syntax für border-image wurde aktualisiert, um der neuesten Überarbeitung der Spezifikation zu entsprechen; es akzeptiert keinen abschließenden Schrägstrich ("/") mehr.

JavaScript

Keine Änderung.

MathML

  • Die Syntax des statusline-Aktionstyps auf <maction>-Elementen wurde angepasst, um der MathML-Spezifikation zu folgen.

HTTP

  • Gecko unterstützt jetzt den neuen HTTP 308 Permanent Redirect-Statuscode. Da Gecko keinen Unterschied zwischen permanenten und temporären Weiterleitungen macht, verhält es sich wie der 307 Temporary Redirect-Statuscode, da es dem Benutzeragenten verbietet, die HTTP-Methode zwischen den beiden Anfragen zu ändern (POST bleibt POST, GET bleibt GET).

Änderungen für Mozilla- und Add-on-Entwickler

JavaScript-Code-Module

source-editor.jsm

  • Eine Tastenkombination zum Umschalten des Kommentierens für die aktuelle Auswahl wurde hinzugefügt (Strg-/ oder Cmd-/ auf Mac OS X).
  • Die Tastenkombinationen Strg-[ und Strg-] wurden hinzugefügt, um die Texteinfügeposition an den Anfang und das Ende des aktuellen Blocks zu verschieben.
  • Die neuen Methoden getLineStart() und getLineEnd() wurden hinzugefügt.

XUL

  • Das neue fullscreenbutton-Attribut wurde dem <window>-Element hinzugefügt; wenn es auf true gesetzt ist, wird der Fensteroberfläche ein Button hinzugefügt, um den Vollbildmodus zu aktivieren.

Schnittstellen

  • Die nsILocalFile-Schnittstelle wurde in nsIFile zusammengeführt (Bug 682360).
  • Die Methoden im nsIPlacesImportExportService zum Importieren von Lesezeichen wurden alle zugunsten des JavaScript-Code-Moduls BookmarkHTMLUtils.jsm entfernt.
  • Die nsIDOMGeoPositionAddress-Schnittstelle wurde entfernt.
  • Die Methoden getItemGUID, setItemGUID und getItemIdForGUID wurden aus dem nsINavBookmarksService entfernt (Firefox-Bug 715355).

Rechtschreibprüfung

  • Wörterbuchnamen werden nun als vollständige BCP 47-Sprachtags geparst (Bug 730209, Bug 741842). Entwicklern wird empfohlen, den Namen ihrer Sprache nicht fest im Wörterbuchnamen zu codieren.