PlĂ€ne zur UnterstĂŒtzung der zweiten und dritten Version des Chrome-Manifests in Firefox

Die Entwickler von Mozilla haben ihre PlĂ€ne zur UnterstĂŒtzung der zweiten und dritten Manifestversionen von Chrome in Firefox aktualisiert. Google hat angekĂŒndigt, die UnterstĂŒtzung von Erweiterungen, die die zweite Manifestversion verwenden, in den Testversionen von Chrome 127 (Dev, Canary und Beta) im Juni dieses Jahres einzustellen. In der stabilen Version wird die UnterstĂŒtzung der zweiten Manifestversion frĂŒhestens im Juli eingestellt.

Im Gegenzug wird Mozilla in naher Zukunft die UnterstĂŒtzung der zweiten Manifestversion nicht einstellen und die Möglichkeit beibehalten, Erweiterungen zu nutzen, die Funktionen nutzen, die in der dritten Manifestversion nicht verfĂŒgbar sind. Es bleibt dabei, dass Firefox keine vollstĂ€ndige KompatibilitĂ€t mit der dritten Manifestversion von Chrome gewĂ€hrleisten wird. In Firefox wird die vollstĂ€ndige API webRequest erhalten bleiben, die in Chrome in den Nur-Lese-Modus versetzt wird.

In Firefox wird auch mit Hilfe des Mechanismus der Event Pages die UnterstĂŒtzung fĂŒr Hintergrundskripte auf Basis des DOM erhalten bleiben. In der dritten Version des Manifests wird jedoch vorgeschrieben, Service Workers zu verwenden. Hintergrundskripte auf Basis von Service Workers werden in Firefox derzeit nicht unterstĂŒtzt, aber Entwicklern wird die Möglichkeit gegeben, in der Erweiterung sowohl Event Pages als auch Service Workers als Handler zu definieren. Dies ermöglicht die Erstellung von Erweiterungen, die der dritten Manifestversion entsprechen und sowohl in Chrome als auch in Firefox funktionieren.

Das Chrome-Manifest definiert die Möglichkeiten und Ressourcen, die fĂŒr Erweiterungen verfĂŒgbar sind, die unter Verwendung der WebExtensions-API entwickelt wurden. Seit Version 57 hat Firefox vollstĂ€ndig auf die Nutzung der WebExtensions-API fĂŒr die Entwicklung von Erweiterungen umgestellt und die UnterstĂŒtzung der XUL-Technologie eingestellt. Der Umstieg auf WebExtensions hat es ermöglicht, die Entwicklung von Erweiterungen mit den Plattformen Chrome, Opera, Safari und Edge zu vereinheitlichen, das Portieren von Erweiterungen zwischen verschiedenen Webbrowsern zu erleichtern und die vollstĂ€ndige Nutzung des Multiprozessmodus zu ermöglichen (WebExtensions-Erweiterungen können in separaten Prozessen ausgefĂŒhrt werden, isoliert von den anderen Teilen des Browsers). Um die Entwicklung von Erweiterungen mit anderen Browsern zu vereinheitlichen, bietet Firefox eine nahezu vollstĂ€ndige KompatibilitĂ€t mit der zweiten Version des Chrome-Manifests.

Im Rahmen der Initiative zur Vereinfachung der Entwicklung sicherer und leistungsstarker Erweiterungen sowie zur Verkomplizierung der Erstellung unsicherer und langsamer Erweiterungen hat Google die dritte Version des Manifests entwickelt. Die Hauptkritik an der dritten Version des Manifests betrifft die Umstellung der API webRequest in den Nur-Lese-Modus, die die Verbindung eigener Handler ermöglicht hat, die vollen Zugriff auf Netzwerkrequests hatten und den Traffic in Echtzeit modifizieren konnten. Anstelle der API webRequest wurde in der dritten Version des Manifests eine eingeschrĂ€nkte API namens declarativeNetRequest hinzugefĂŒgt, die Zugang zu einer integrierten Engine zur Filterung bietet, die die Blockierungsregeln selbst verarbeitet und keine eigenen Filteralgorithmen zulĂ€sst.

Zu den Besonderheiten der Implementierung der dritten Version des Manifests in Firefox gehören:

  • Ein neues deklaratives API zur Filterung von Inhalten wurde hinzugefĂŒgt, jedoch wurde im Gegensatz zu Chrome die UnterstĂŒtzung des alten blockierenden Modus des API webRequest nicht eingestellt.
  • Ein Event Pages Mechanismus wurde implementiert, der fĂŒr Webentwickler vertrauter ist, keine vollstĂ€ndige Überarbeitung der Erweiterungen erfordert und EinschrĂ€nkungen im Zusammenhang mit der Verwendung von Service-Workern beseitigt. Mit Event Pages können vorhandene Erweiterungen mit Hintergrundseiten an die Anforderungen der dritten Version des Manifests angepasst werden, wĂ€hrend gleichzeitig der Zugang zu allen notwendigen Funktionen fĂŒr die Arbeit mit dem DOM erhalten bleibt.
  • Das neue granulare Berechtigungsanfragenmodell – Erweiterungen können nicht mehr sofort fĂŒr alle Seiten aktiviert werden (die Berechtigung „all_urls“ wurde entfernt) und funktionieren nur im Kontext des aktiven Tabs. Das bedeutet, der Nutzer muss die Aktivierung der Erweiterung fĂŒr jede Website bestĂ€tigen. In Firefox werden alle Anfragen auf den Zugriff auf die Daten einer Website als optional betrachtet, und die endgĂŒltige Entscheidung ĂŒber den Zugriff trifft der Nutzer, der selektiv entscheiden kann, welcher Erweiterung er den Zugriff auf seine Daten auf dieser oder jener Website gewĂ€hren möchte.

    Zur Verwaltung von Berechtigungen wurde im Interface die SchaltflĂ€che „Unified Extensions“ hinzugefĂŒgt, mit der direkt verwaltet werden kann, auf welche Websites jede Erweiterung zugreifen kann – der Nutzer kann den Zugriff der Erweiterung auf jede Website gewĂ€hren oder widerrufen. Die Verwaltung der Berechtigungen gilt nur fĂŒr Erweiterungen auf Basis der dritten Version des Manifests; fĂŒr Erweiterungen auf der zweiten Version des Manifests wird eine granulare Zugriffskontrolle auf Websites nicht vorgenommen.

    PlĂ€ne zur UnterstĂŒtzung der zweiten und dritten Version des Chrome-Manifests in Firefox
  • Änderung der Verarbeitung von Cross-Origin-Anfragen – gemĂ€ĂŸ dem neuen Manifest unterliegen Skripte zur Verarbeitung von Inhalten denselben BerechtigungsbeschrĂ€nkungen wie die Hauptseite, in die diese Skripte integriert werden (zum Beispiel: Wenn die Seite keinen Zugriff auf die API zur Geolokalisierung hat, erhĂ€lt das Erweiterungsskript ebenfalls keinen Zugriff). Diese Änderung ist vollstĂ€ndig in Firefox implementiert.
  • API basierend auf Promise. Firefox unterstĂŒtzt diese API auch fĂŒr die dritte Version des Manifests.
  • Verbot der AusfĂŒhrung von Code, der von externen Quellen geladen wird Server (es geht um Situationen, in denen eine Erweiterung externen Code lĂ€dt und ausfĂŒhrt). In Firefox wird externe Codeblockierung angewendet, und die Entwickler von Mozilla haben zusĂ€tzliche Techniken zur Verfolgung von Code-Downloads hinzugefĂŒgt. FĂŒr die Verarbeitungsskripte gibt es eine separate Richtlinie zur BeschrĂ€nkung des Zugriffs auf Inhalte (CSP, Content Security Policy).

Quelle: opennet.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster