Mozilla hat einen Plan zur Implementierung der dritten Version des Chrome-Manifests in Firefox veröffentlicht, das die Funktionen und Ressourcen definiert, die Add-Ons zur VerfĂŒgung gestellt werden. Die dritte Version des Manifests ist in die Kritik geraten, weil sie viele Inhaltsblocker und Sicherheits-Add-ons beschĂ€digt.
Firefox beabsichtigt, fast alle Funktionen und EinschrĂ€nkungen des neuen Manifests zu implementieren, einschlieĂlich der deklarativen API zur Inhaltsfilterung (declarativeNetRequest). Im Gegensatz zu Chrome wird Firefox jedoch die UnterstĂŒtzung fĂŒr den alten Sperrmodus der webRequest-API nicht einstellen, zumindest nicht, bis die neue API die Anforderungen von Add-On-Entwicklern, die die webRequest-API verwenden, vollstĂ€ndig erfĂŒllt. Dieser Ansatz stellt die KompatibilitĂ€t mit Chrome-Add-Ons sicher, ohne die KompatibilitĂ€t mit Add-Ons zu beeintrĂ€chtigen, die auf der WebRequest-API basieren.
Erinnern wir uns daran, dass die gröĂte Unzufriedenheit mit dem neuen Manifest mit der Umstellung der webRequest-API auf den schreibgeschĂŒtzten Modus zusammenhĂ€ngt, der die Verbindung benutzerdefinierter Handler mit vollem Zugriff auf Netzwerkanforderungen und der Möglichkeit zur Ănderung des Datenverkehrs im laufenden Betrieb ermöglichte. Diese API wird von uBlock Origin und vielen anderen Add-Ons verwendet, um unerwĂŒnschte Inhalte zu blockieren und die Sicherheit zu gewĂ€hrleisten. Anstelle der webRequest-API wird die declarativeNetRequest-API vorgeschlagen, die in ihren Funktionen eingeschrĂ€nkt ist und Zugriff auf eine integrierte Filter-Engine bietet, die Sperrregeln selbststĂ€ndig verarbeitet, die Verwendung benutzerdefinierter Filteralgorithmen nicht zulĂ€sst und die Festlegung komplexer Regeln, die sich je nach Bedingungen ĂŒberschneiden, nicht zulĂ€sst.
Firefox plant, die UnterstĂŒtzung fĂŒr Version 2021 des Chrome-Manifests Ende 2022 zu Testzwecken freizugeben. Das neue Manifest soll Anfang XNUMX eingefĂŒhrt werden. Die folgenden Funktionen zeichnen sich durch die Implementierung des neuen Manifests in Firefox aus:
- Stellt die declarativeNetRequest-API bereit, ermöglicht aber weiterhin die Verwendung der alten webRequest-API.
- Ănderungen an der Cross-Origin-Anforderungsverarbeitung â GemÀà dem neuen Manifest unterliegen Inhaltsverarbeitungsskripte denselben BerechtigungsbeschrĂ€nkungen wie die Hauptseite, in die sie eingebettet sind (wenn die Seite beispielsweise keinen Zugriff auf die Standort-API hat, hat das Add-On-Skript diesen Zugriff auch nicht). Einige der Ănderungsprotokolle zu Cross-Origin-Anfragen stehen bereits zum Testen in den Nightly Builds von Firefox zur VerfĂŒgung (entwickelt im Rahmen des Fission-Projekts, die in about:preferences#experimental aufgenommen werden können) und sollen im dritten Quartal 2021 allgemein bereitgestellt werden.
- Hintergrundseiten werden durch Service Worker ersetzt, die als Hintergrundprozesse ausgefĂŒhrt werden. Die Ănderung ist noch nicht testbereit.
- Promise-basierte API. Firefox unterstĂŒtzt diesen API-Typ bereits im Namespace âbrowser.*â und wird ihn fĂŒr die dritte Version des Manifests in den Namespace âchrome.*â verschieben.
- Neues granulares Berechtigungsanforderungsmodell â das Add-on kann nicht fĂŒr alle Seiten gleichzeitig aktiviert werden (die Berechtigung âall_urlsâ wurde entfernt), sondern funktioniert nur im Kontext der aktiven Registerkarte, d. h. der Benutzer muss den Vorgang des Add-ons fĂŒr jede Site bestĂ€tigen. Mozilla arbeitet daran, die Zugriffskontrollen zu verschĂ€rfen, möchte den Benutzern jedoch die Möglichkeit geben, selbst zu entscheiden, ob sie die Arbeit von Add-Ons ĂŒber mehrere Tabs hinweg zulassen möchten.
- Verhindern der AusfĂŒhrung von Code, der von externen Quellen heruntergeladen wurde Server (Dies bezieht sich auf Situationen, in denen ein Add-on externen Code lĂ€dt und ausfĂŒhrt.) Firefox implementiert bereits eine Blockierung externen Codes, und die Mozilla-Entwickler sind bereit, die in der dritten Version des Manifests vorgeschlagenen zusĂ€tzlichen Techniken zur Nachverfolgung von Code-Downloads zu implementieren. FĂŒr Skripte zur Inhaltsverarbeitung wird eine separate Content Security Policy (CSP) eingefĂŒhrt, und die bestehenden APIs userScripts und contentScripts werden ĂŒberarbeitet, um Service-Worker-basierte Erweiterungen zu unterstĂŒtzen.
Source: opennet.ru
