Google hat für den 3. Juni den Start des Prozesses zur Einstellung der Unterstützung der zweiten Version des Chrome-Manifests angekündigt, das die Funktionen und Ressourcen definiert, die für Erweiterungen, die mit der WebExtensions-API geschrieben wurden, verfügbar sind. ursprünglich sollte die Unterstützung der zweiten Version des Manifests im Januar 2023 eingestellt werden, aber die Fristen wurden mehrmals verschoben. Ab dem 3. Juni wird in den Chrome Beta-, Dev- und Canary-Versionen, bei installiertem Ergänzungen, die die zweite Version des Manifests verwenden, auf der Seite zur Verwaltung von Erweiterungen (chrome://extensions) eine Benachrichtigung angezeigt, die Informationen über die bevorstehende Einstellung der Unterstützung dieser Erweiterungen enthält. Auch die Erweiterungen, die auf der zweiten Version des Manifests basieren, werden das Label „empfohlen“ verlieren.
In der Folge wird ein schrittweiser Prozess zur Deaktivierung von Erweiterungen, die die zweite Version des Manifests nutzen, beginnen. Den Nutzern werden Empfehlungen zur Installation von Alternativen, die im Chrome Web Store verfügbar sind und auf die dritte Version des Manifests umgestiegen sind, angezeigt. Dabei wird den Nutzern für eine gewisse Zeit die Möglichkeit gegeben, die deaktivierten Erweiterungen wiederherzustellen, jedoch wird diese Funktionalität mit der Zeit entfernt. Die Änderungen im Zusammenhang mit der Deaktivierung der Unterstützung für die zweite Version des Manifests werden zunächst auf den Testkanälen von Chrome (Beta, Dev und Canary) angewendet, aber in den folgenden Monaten auch stabile Versionen betreffen. Der Übergang von der zweiten Version des Manifests soll bis Anfang nächsten Jahres abgeschlossen sein. Geschäftskunden wird die Möglichkeit gegeben, den Rückzug der Unterstützung für die zweite Version des Manifests bis Juni 2025 hinauszuschieben.
Es wird festgestellt, dass Google im letzten Jahr alle wesentlichen Probleme, die einem Wechsel zur dritten Version des Manifests im Wege standen, behoben hat und die Wünsche hinsichtlich der Funktionalität berücksichtigt hat. So wurde beispielsweise in der API declarativeNetRequest die zulässige Anzahl statischer Regeln auf 330.000 und dynamischer auf 30.000 erhöht. Derzeit unterstützen im Chrome Web Store etwa 85 % der Erweiterungen bereits die dritte Version des Manifests, darunter die beliebtesten Erweiterungen zur Inhaltsfilterung — AdBlock, Adblock Plus, uBlock Origin und AdGuard.
Die dritte Version des Chrome-Manifests wurde im Rahmen der Initiative zur Vereinfachung der Erstellung sicherer und leistungsstarker Erweiterungen entwickelt und zur Erschwerung der Erstellung unsicherer und langsamer Erweiterungen. Die Hauptbeschwerde über die dritte Version des Manifests bezieht sich auf die Umstellung der webRequest-API in den Nur-Lese-Modus, die es ermöglichte, eigene Handler anzuschließen, die vollen Zugriff auf Netzwerkrequests hatten und den Datenverkehr dynamisch modifizieren konnten. Statt der webRequest-API wurde in der dritten Version des Manifests eine eingeschränkte API für deklarative Netzwerkanfragen (declarativeNetRequest) hinzugefügt, die den Zugriff auf einen eingebauten Filtermotor ermöglicht, der die Blockierungsregeln selbst verarbeitet und es nicht erlaubt, eigene Filteralgorithmen zu benutzen.
Im neuen Manifest wird auch der Übergang zur Ausführung von Service-Workern in Form von Hintergrundprozessen vollzogen, und ein granularer Berechtigungsanfrage-Modell wird implementiert (eine Erweiterung kann nicht sofort für alle Seiten aktiviert werden, sondern funktioniert nur im Kontext des aktiven Tabs). Die Verarbeitung von Cross-Origin-Anfragen wurde geändert – die gleichen Berechtigungsbeschränkungen, die für die Hauptseite gelten, in die diese Skripte eingebettet sind, gelten nun auch für die Content-Processing-Skripte (zum Beispiel, wenn die Seite keinen Zugang zur API zur Standortbestimmung hat, wird das Erweiterungsskript ebenfalls keinen Zugang erhalten). Die Ausführung von Code, der von externen Quellen geladen wird, ist verboten. Server (wenn die Erweiterung externen Code lädt und ausführt).
Quelle: opennet.ru
