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 nützlich sind, sondern auch für Firefox- und Gecko-Entwickler sowie Add-on-Entwickler.

Änderungen für Webentwickler

Entwicklerwerkzeuge

CSS

HTML

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

JavaScript

  • Die "temporäre tote Zone" für let-Deklarationen wurde implementiert. In Übereinstimmung mit den let-Semantiken von ES2015 führen die folgenden Situationen nun zu Fehlern. Siehe auch diese Newsgroup-Ankündigung und Firefox-Bug 1001090.

    • Das erneute Deklarieren bestehender Variablen oder Argumente mit let im selben Gültigkeitsbereich in Funktionskörpern ist nun ein Syntaxfehler.
    • Die Verwendung einer mit let deklarierten Variable in Funktionskörpern vor der Deklaration wird nun ein Laufzeitfehler.
  • ES2015 Symbole (nur im Nightly-Kanal verfügbar) wurden aktualisiert, um mit den neuesten Spezifikationsänderungen übereinzustimmen:

  • Die verschiedenen TypedArray-Konstruktoren haben nun als ihre [[Prototype]] eine einzelne Funktion, als %TypedArray% in ES2015 bezeichnet (aber sonst nicht direkt exponiert). Jedes typisierte Array-Prototyp erbt jetzt von %TypedArray%.prototype. (%TypedArray% und %TypedArray%.prototype erben von Function.prototype bzw. Object.prototype, sodass typisierte Array-Konstruktoren und Instanzen immer noch die Eigenschaften auf diesen Objekten haben.) Typisierte Array-Funktionseigenschaften befinden sich nun in %TypedArray%.prototype und funktionieren auf jedem typisierten Array. Siehe TypedArray und Firefox-Bug 896116 für weitere Informationen.

  • ES2015-Semantiken für Prototyp-Mutationen unter Verwendung von Objektliteralen wurden implementiert (Firefox-Bug 1061853).

    • Jetzt wird nur ein einziges Element, das als __proto__:value notiert ist, den [[Prototype]] in der Objektliteral-Syntax mutieren.
    • Methodenelemente wie __proto__() {} überschreiben den [[Prototype]] nicht mehr.

Schnittstellen/APIs/DOM

MathML

  • Die OpenType-Funktion dtls (über die CSS font-feature-settings im Standardstylesheet) wird jetzt automatisch auf MathML-Elemente angewendet, wenn Skripte darüber positioniert werden (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() im <xul:tabbrowser>-Element wurde veraltet. An ihrer Stelle haben wir eine neue, öffentliche Methode namens getTabForBrowser hinzugefügt. Diese gibt erwartungsgemäß das <xul:tab>-Element zurück, das den angegebenen <xul:browser> enthält.
  • Components.utils.now(), entsprechend Performance.now() wurde für Nicht-Fenster-Chromcode implementiert (Firefox-Bug 969490).

Add-on SDK

Highlights

  • Zugriffstasten für das Kontextmenü hinzugefügt.
  • isPrivateBrowsing aus BrowserWindow entfernt.
  • toJSON-Methode zu URL-Instanzen hinzugefügt.

Details

GitHub-Commits zwischen Firefox 34 und Firefox 35. Dies schließt keine Anhebungen ein, die nach diesem Release in Aurora gemacht wurden.

Zwischen Firefox 34 und Firefox 35 behobene Fehler. Dies schließt keine Anhebungen ein, die nach diesem Release in Aurora gemacht wurden.

Ältere Versionen