Das Unternehmen Mozilla , dass trotz der Verwendung des WebExtensions-API-Erweiterungssystems in Firefox die Entwickler nicht die Absicht haben, der zukünftigen dritten Auflage des Chrome-Erweiterungsmanifests vollständig zu folgen. Insbesondere wird in Firefox die Unterstützung des blockierenden Modus des APIs fortgeführt , der es ermöglicht, den empfangenen Inhalt in Echtzeit zu ändern und bei Ad-Blockern und Content-Filter-Systemen gefragt ist.
Die Hauptidee des Wechsels zu den API-WebExtensions war die Vereinheitlichung der Technologie zur Entwicklung von Erweiterungen für Firefox und Chrome, weshalb in der aktuellen Form in Firefox nahezu 100 % Kompatibilität mit der aktuellen zweiten Auflage des Chrome-Manifests gewährleistet ist. Das Manifest definiert die Liste der Möglichkeiten und Ressourcen, die den Erweiterungen zur Verfügung stehen. Aufgrund der im dritten Manifestvorschlag vorgeschlagenen einschränkenden Maßnahmen, die von den Entwicklern als negativ wahrgenommen werden, wird Mozilla von der Praxis abweichen, dem Manifest vollständig zu folgen, und wird keine Änderungen in Firefox übernehmen, die die Kompatibilität mit den Erweiterungen beeinträchtigen.
Wir erinnern daran, dass , plant Google die Unterstützung des blockierenden Modus des APIs webRequest in Chrome einzustellen und es auf einen Nur-Lese-Modus zu beschränken und einen neuen deklarativen API zur Inhaltsfilterung anzubieten . Während das API webRequest es ermöglichte, eigene Handler anzuschließen, die vollständigen Zugriff auf Netzwerkanfragen hatten und den Datenverkehr in Echtzeit ändern konnten, bietet das neue API declarativeNetRequest Zugang zu einer integrierten Universal-Engine zur Filterung, die die Blocking-Regeln eigenständig verarbeitet, die Verwendung eigener Filteralgorithmen nicht zulässt und keine komplexen, sich gegenseitig überlappenden Regeln je nach Bedingungen ermöglicht.
Mozilla prüft auch die Machbarkeit, einige andere Änderungen aus der dritten Version des Chrome-Manifests, die die Kompatibilität mit Erweiterungen beeinträchtigen, nach Firefox zu übertragen:
- Der Übergang zur Ausführung von Service-Workern in Form von Hintergrundprozessen, was von den Entwicklern Änderungen im Code einiger Erweiterungen erfordern wird. Obwohl die neue Methode aus Leistungssicht optimierter ist, zieht Mozilla in Betracht, die Unterstützung für die Ausführung von Hintergrundseiten aufrechtzuerhalten.
- Das neue granulierte Modell der Berechtigungsanfrage – die Erweiterung kann nicht sofort für alle Seiten aktiviert werden (die Berechtigung „all_urls“ wurde entfernt) und funktioniert nur im Kontext des aktiven Tabs, d.h. der Benutzer muss die Nutzung der Erweiterung für jede Website bestätigen. Mozilla untersucht Wege, um die Zugriffskontrolle zu verstärken, ohne die Benutzer ständig abzulenken.
- Änderung der Verarbeitung von Cross-Origin-Anfragen – gemäß dem neuen Manifest gelten für die Content-Script-Handler die gleichen Berechtigungsbeschränkungen wie für die Hauptseite, in die diese Skripte eingebettet sind (z.B. wenn die Seite keinen Zugriff auf die Geolokalisierungs-API hat, erhält das Erweiterungsskript auch keinen Zugriff darauf). Diese Änderung ist für Firefox geplant.
- Verbot der Ausführung von Code, der von externen Servern geladen wird (dies betrifft Situationen, in denen eine Erweiterung externen Code lädt und ausführt). In Firefox wird bereits eine Blockierung externen Codes angewendet, und die Entwickler von Mozilla sind nicht dagegen, einen solchen Schutz zu verstärken, indem sie zusätzliche Techniken zur Verfolgung des Code-Downloads anwenden, die im dritten Manifest vorgeschlagen werden.
Quelle: opennet.ru
