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

Entwickler-Tools

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 "temporal dead zone" für let Deklarationen wurde implementiert. In Übereinstimmung mit den let-Semantiken von ES2015 werfen die folgenden Situationen jetzt Fehler aus. Siehe auch diese Newsgroup-Ankündigung und Firefox-Bug 1001090.

    • Die erneute Deklaration bestehender 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, bevor die Deklaration erreicht und ausgewertet wurde, ist jetzt ein Laufzeitfehler.
  • ES2015 Symbole (nur im Nightly-Kanal verfügbar) wurden aktualisiert, um mit den jüngsten Spezifikationsänderungen übereinzustimmen:

    • String(Symbol("1")) löst jetzt keinen TypeError mehr aus; stattdessen wird eine Zeichenkette ("Symbol(1)") zurückgegeben (Firefox-Bug 1058396).
  • Die verschiedenen TypedArray Konstruktoren haben jetzt als [[Prototype]] eine einzige Funktion, die in ES2015 %TypedArray% genannt wird (aber nicht direkt exponiert). Jedes Prototype-Array erbt nun von %TypedArray%.prototype. (%TypedArray% und %TypedArray%.prototype erben von Function.prototype und Object.prototype, sodass Prototype-Array-Konstruktoren und -Instanzen weiterhin die auf diesen Objekten befindlichen Eigenschaften haben.) Funktionen für TypedArrays befinden sich jetzt auf %TypedArray%.prototype und funktionieren mit jedem TypedArray. Siehe TypedArray und Firefox-Bug 896116 für mehr Informationen.

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

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

Schnittstellen/APIs/DOM

MathML

  • Das OpenType-Feature dtls (über die CSS font-feature-settings im Standard-Stylesheet) 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() auf dem <xul:tabbrowser> Element wurde veraltet. An deren Stelle haben wir eine neue, öffentliche Methode namens getTabForBrowser hinzugefügt. Diese gibt, wie zu erwarten, das <xul:tab> Element zurück, das das angegebene <xul:browser> enthält.
  • Components.utils.now(), entsprechend Performance.now(), wurde für nicht-fensterspezifischen Chrome-Code implementiert (Firefox-Bug 969490).

Add-on SDK

Höhepunkte

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

Details

GitHub-Einträge, die zwischen Firefox 34 und Firefox 35 gemacht wurden. Dies schließt keine Upstrokes ein, die nach diesem Release in Aurora aufgenommen wurden.

Zwischen Firefox 34 und Firefox 35 behobene Bugs. Dies schließt keine Upstrokes ein, die nach diesem Release in Aurora aufgenommen wurden.

Ältere Versionen