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 für Add-on-Entwickler.

Änderungen für Webentwickler

Entwicklerwerkzeuge

CSS

HTML

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

JavaScript

  • Die "temporäre tote 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 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 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 einzige Funktion, bezeichnet als %TypedArray% in ES2015 (aber sonst nicht direkt zugänglich). Jedes typisierte Array-Prototyp erbt jetzt von %TypedArray%.prototype. (%TypedArray% und %TypedArray%.prototype erben von Function.prototype und Object.prototype jeweils, sodass typisierte Array-Konstruktoren und -Instanzen weiterhin die auf diesen Objekten gefundenen Eigenschaften haben.) Typisierte Array-Funktionseigenschaften befinden sich jetzt auf %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 Objekt-Literalen wurden implementiert (Firefox Bug 1061853).

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

Schnittstellen/APIs/DOM

MathML

  • Die dtls OpenType-Funktion (über das 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 _getTabForBrowser() Methode auf dem <xul:tabbrowser> Element wurde veraltet. Anstelle dessen 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(), entsprechen Performance.now() wurde für Nicht-Fenster-Chromecode implementiert (Firefox Bug 969490).

Add-on SDK

Höhepunkte

  • Zugangstasten für das Kontextmenü hinzugefügt.
  • 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 Aufwertungen ein, die nach diesem Release in Aurora eingetreten sind.

Bugs, die zwischen Firefox 34 und Firefox 35 behoben wurden. Dies schließt keine Aufwertungen ein, die nach diesem Release in Aurora eingetreten sind.

Ältere Versionen