Firma Mozilla , mimo że korzysta z systemu dodatków w Firefox opartych na API WebExtensions, deweloperzy nie mają zamiaru w pełni stosować się do przyszłej trzeciej wersji manifestu dodatków Chrome. W szczególności, w Firefox będzie kontynuowane wsparcie dla blokującego trybu działania API , umożliwiającego w czasie rzeczywistym zmianę odbieranego contentu, popularnego w blokadach reklam oraz systemach filtrowania treści.
Główna ideą przejścia na API WebExtensions była unifikacja technologii tworzenia dodatków dla Firefox i Chrome, dlatego w obecnej formie w Firefox prawie w 100% zapewniona jest zgodność z aktualną drugą wersją manifestu Chrome. Manifest określa listę możliwości i zasobów dostępnych dla dodatków. Z powodu wprowadzenia w trzeciej wersji manifestu ograniczeń, które były negatywnie postrzegane przez deweloperów dodatków, Mozilla odstąpi od praktyki pełnego przestrzegania manifestu i nie będzie wprowadzać w Firefox zmian, które naruszają zgodność z dodatkami.
Przypomnijmy, że , firma Google planuje zaprzestać wsparcia w Chrome dla blokującego trybu działania API webRequest, ograniczając go do trybu tylko do odczytu i oferując nowy deklaratywny API do filtrowania treści . Jeśli API webRequest pozwalało na podłączanie własnych handlerów, które miały pełny dostęp do zapytań sieciowych i mogły w czasie rzeczywistym modyfikować ruch, nowy API declarativeNetRequest oferuje dostęp do gotowego uniwersalnego wbudowanego silnika do filtrowania, który samodzielnie przetwarza zasady blokady, nie pozwalając na używanie własnych algorytmów filtrowania ani na definiowanie skomplikowanych zasad, które wzajemnie się wykluczają w zależności od warunków.
Mozilla ocenia również możliwość przeniesienia do Firefox wsparcia dla niektórych innych zmian z trzeciej wersji manifestu Chrome, które naruszają zgodność z dodatkami:
- Przejście do wykonania Service workers w formie procesów w tle, co będzie wymagało od deweloperów zmiany kodu niektórych dodatków. Mimo że nowa metoda jest bardziej optymalna pod względem wydajności, Mozilla rozważa możliwość zachowania wsparcia dla wykonywania stron w tle.
- Nowa granulatowa model prośby o uprawnienia — dodatek nie będzie mógł być aktywowany od razu dla wszystkich stron (usunięto uprawnienie „all_urls”), a będzie działał tylko w kontekście aktywnej karty, tj. użytkownik będzie musiał potwierdzić działanie dodatku dla każdej witryny. Mozilla bada sposoby na wzmocnienie kontroli dostępu, nie odrywając użytkownika.
- Zmiana w przetwarzaniu zapytań Cross-origin — zgodnie z nowym manifestem na skrypty przetwarzania treści będą stosowane te same ograniczenia uprawnień, co do głównej strony, w którą te skrypty są wprowadzane (na przykład, jeśli strona nie ma dostępu do API lokalizacji, to skrypt dodatku również nie uzyska tego dostępu). Zmiana planowana jest do wdrożenia w Firefoxie.
- Zakaz wykonywania kodu pobranego z zewnętrznych serwerów (mowa o sytuacjach, gdy dodatek pobiera i wykonuje zewnętrzny kod). W Firefoxie już stosuje się blokadę zewnętrznego kodu, a deweloperzy Mozilli nie mają nic przeciwko wzmocnieniu tej ochrony, stosując dodatkowe techniki śledzenia pobrań kodu, proponowane w trzeciej wersji manifestu.
Źródło: opennet.ru
