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

Entwickler-Tools

CSS

HTML

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

JavaScript

  • Die "temporal dead zone" für let Deklarationen wurde implementiert. Gemäß ES2015 let Semantik werfen die folgenden Situationen jetzt Fehler. Siehe auch diese Newsgroup-Ankündigung und Firefox-Bug 1001090.

    • Die Neudeklaration bestehender Variablen oder Argumente mit let im selben Gültigkeitsbereich innerhalb von Funktionskörpern ist jetzt ein Syntaxfehler.
    • Die Verwendung einer mit let deklarierten Variable in Funktionskörpern, bevor die Deklaration erreicht und ausgewertet wird, ist jetzt ein Laufzeitfehler.
  • ES2015 Symbole (nur im Nightly-Kanal verfügbar) wurden aktualisiert, um den jüngsten Spezifikationsänderungen zu entsprechen:

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

  • ES2015 Semantik für Prototyp-Mutationen mit Objekt-Literalen wurden implementiert (Firefox-Bug 1061853).

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

Schnittstellen/APIs/DOM

MathML

  • Die dtls OpenType-Funktion (ü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 als veraltet erklärt. An ihrer Stelle haben wir eine neue, öffentliche Methode namens getTabForBrowser hinzugefügt. Diese gibt, vorhersehbar, das <xul:tab> Element zurück, das das spezifizierte <xul:browser> enthält.
  • Components.utils.now(), entsprechend Performance.now(), wurde für Nicht-Fenster-Chrome-Code implementiert (Firefox-Bug 969490).

Add-on SDK

Höhepunkte

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

Details

GitHub-Commits zwischen Firefox 34 und Firefox 35. Dies schließt keine Aufwertungen ein, die nach dem Eintritt dieser Version in Aurora gemacht wurden.

Fehler, die zwischen Firefox 34 und Firefox 35 behoben wurden. Dies schließt keine Aufwertungen ein, die nach dem Eintritt dieser Version in Aurora gemacht wurden.

Ältere Versionen