Firefox 35 für Entwickler

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

Änderungen für Webentwickler

Entwicklerwerkzeuge

CSS

HTML

  • Die veralteten und nicht konformen Attribute bottommargin, leftmargin, rightmargin und topmargin des <body>-Elements wurden im Non-Quirks-Modus aktiviert (Firefox-Fehler 95530).

JavaScript

  • Die "temporal dead zone" für let-Deklarationen wurde implementiert. In Übereinstimmung mit den ES2015 let-Semantiken werfen die folgenden Situationen jetzt Fehler. Siehe auch diese Newsgroup-Ankündigung und Firefox-Fehler 1001090.

    • Die erneute Deklaration vorhandener Variablen oder Argumente mit let innerhalb desselben Bereichs in Funktionskörpern ist jetzt ein Syntaxfehler.
    • Die Verwendung einer mit let deklarierten Variablen in Funktionskörpern vor Erreichen und Auswertung der Deklaration ist jetzt ein Laufzeitfehler.
  • ES2015 Symbole (nur im Nightly-Kanal verfügbar) wurden aktualisiert, um den Änderungen der Spezifikation zu entsprechen:

  • Die verschiedenen TypedArray-Konstruktoren haben jetzt als ihr [[Prototype]] eine einzige Funktion, die in ES2015 als %TypedArray% bezeichnet wird (aber ansonsten nicht direkt zugänglich ist). Jedes Typ-Array-Prototyp erbt jetzt von %TypedArray%.prototype. (%TypedArray% und %TypedArray%.prototype erben von Function.prototype und Object.prototype, damit Typ-Array-Konstruktoren und Instanzen weiterhin die auf diesen Objekten gefundenen Eigenschaften haben.) Typ-Array-Funktionseigenschaften befinden sich nun auf %TypedArray%.prototype und funktionieren auf jedem Typ-Array. Siehe TypedArray und Firefox-Fehler 896116 für weitere Informationen.

  • ES2015-Semantiken für Prototypenmutationen unter Verwendung von Objektliteralen wurden implementiert (Firefox-Fehler 1061853).

    • Jetzt wird nur ein einzelnes Mitglied, das als __proto__:value notiert ist, das [[Prototype]] in der Objektliteral-Syntax ändern.
    • Methodenmitglieder wie __proto__() {} werden das [[Prototype]] nicht mehr überschreiben.

Schnittstellen/APIs/DOM

MathML

  • Die dtls-OpenType-Funktion (über die CSS-Eigenschaft font-feature-settings im Standardstylesheet) wird nun beim Positionieren von Skripten über MathML-Elemente automatisch angewendet (z.B. punktloses i mit mathematischem Hut).

SVG

Keine Änderung.

Audio/Video

Keine Änderung.

Netzwerk & Sicherheit

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

XUL & Add-ons

  • Die private Methode _getTabForBrowser() auf dem <xul:tabbrowser>-Element wurde als veraltet markiert. An deren Stelle haben wir eine neue, öffentliche Methode namens getTabForBrowser hinzugefügt. Diese gibt, wie erwartet, das <xul:tab>-Element zurück, das das angegebene <xul:browser> enthält.
  • Components.utils.now(), entsprechend Performance.now(), wurde für Chrome-Code ohne Fenster implementiert (Firefox-Fehler 969490).

Add-on SDK

Höhepunkte

  • Hinzugefügt: Zugriffstasten für Kontextmenüs.
  • Entfernt: isPrivateBrowsing aus BrowserWindow.
  • Hinzugefügt: toJSON-Methode zu URL-Instanzen.

Details

GitHub Commits zwischen Firefox 34 und Firefox 35. Dies schließt keine Aktualisierungen ein, die nach dem Übergang dieser Version in Aurora durchgeführt wurden.

Fehler behoben zwischen Firefox 34 und Firefox 35. Dies schließt keine Aktualisierungen ein, die nach dem Übergang dieser Version in Aurora durchgeführt wurden.

Ältere Versionen