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 Nicht-Quirks-Modus aktiviert (Firefox Bug 95530).

JavaScript

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

    • Die erneute Deklaration vorhandener Variablen oder Argumente mit let im gleichen Geltungsbereich 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 angepasst, um den jüngsten Spezifikationsänderungen zu entsprechen:

  • Die verschiedenen TypedArray-Konstruktoren haben jetzt als [[Prototype]] eine einzige Funktion, bezeichnet als %TypedArray% in ES2015 (aber ansonsten nicht direkt zugänglich). Jedes Typed Array-Prototyp erbt jetzt von %TypedArray%.prototype. (%TypedArray% und %TypedArray%.prototype erben von Function.prototype und Object.prototype, so dass Typed Array-Konstruktoren und -Instanzen weiterhin die Eigenschaften dieser Objekte haben.) Funktionseigenschaften von Typed Arrays befinden sich jetzt auf %TypedArray%.prototype und funktionieren bei jedem Typed Array. Siehe TypedArray und Firefox Bug 896116 für weitere Informationen.

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

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

Schnittstellen/APIs/DOM

MathML

  • Das dtls OpenType-Feature (über das CSS font-feature-settings im Standardstylesheet) wird jetzt automatisch auf MathML-Elemente angewendet, wenn darauf Skripte 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. Anstelle dessen wurde eine neue, öffentliche Methode namens getTabForBrowser hinzugefügt. Diese gibt erwartet das <xul:tab> Element zurück, das den angegebenen <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ügte Zugriffstasten für das Kontextmenü.
  • isPrivateBrowsing aus BrowserWindow entfernt.
  • toJSON Methode zu URL-Instanzen hinzugefügt.

Details

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

Zwischen Firefox 34 und Firefox 35 behobene Bugs. Dies wird keine Erhöhungen umfassen, die nach dem Eintritt dieser Version in Aurora vorgenommen wurden.

Ältere Versionen