Společnost Mozilla , že přestože Firefox používá doplňky založené na API WebExtensions, vývojáři nemají v úmyslu plně se řídit budoucí třetí verzí manifestu pro doplňky Chrome. Zejména v Firefoxu bude pokračována podpora blokovacího režimu API. , který umožňuje měnit přijímaný obsah za běhu a je žádaný v blokátorech reklam a systémech pro filtrování obsahu.
Hlavní myšlenkou přechodu na API WebExtensions byla unifikace technologie vývoje doplňků pro Firefox a Chrome, proto je v současném stavu v Firefoxu téměř 100% zajištěna kompatibilita s aktuální druhou verzí manifestu Chrome. Manifest definuje seznam možností a zdrojů poskytovaných doplňkům. Vzhledem k tomu, že třetí verze manifestu zavádí omezující opatření, která jsou vývojáři doplňků negativně přijímána, Mozilla se odchýlí od praxe plného dodržování manifestu a nebude přenášet do Firefoxu změny, které narušují kompatibilitu s doplňky.
Připomínáme, že , společnost Google plánuje ukončit podporu blokovacího režimu API webRequest v Chrome, omezujíc ho pouze na režim pro čtení a nabízejíc nový deklarativní API pro filtrování obsahu. . Zatímco API webRequest umožňovalo připojit vlastní zpracovatele, kteří měli plný přístup k síťovým požadavkům a mohli okamžitě modifikovat provoz, nové API declarativeNetRequest poskytuje přístup k hotovému univerzálnímu vestavěnému enginu pro filtrování, který sám zpracovává pravidla blokování, nedovoluje používat vlastní filtrační algoritmy a neumožňuje zadávat složitá pravidla, která se překrývají v závislosti na podmínkách.
Mozilla také posuzuje vhodnost přenosu některých dalších změn z třetí verze manifestu Chrome do Firefoxu, které narušují kompatibilitu s doplňky:
- Přechod k provádění Service workers ve formě pozadí procesů, což si vyžádá od vývojářů úpravu kódu některých doplňků. I když je nová metoda z pohledu výkonu optimalizovanější, Mozilla zvažuje možnost zachování podpory provádění pozadí stránek.
- Nový granulovaný model žádosti o oprávnění — doplněk se nebude moci aktivovat okamžitě na všech stránkách (opraveno oprávnění „all_urls“), ale bude fungovat pouze v kontextu aktivní karty, tj. uživatel bude muset potvrdit fungování doplňku pro každou stránku. Mozilla prozkoumává možnosti posílení kontroly přístupu, které by neodváděly uživatele od jejich činnosti.
- Změna zpracování Cross-origin požadavků — v souladu s novým manifestem se na skripty zpracování obsahu budou vztahovat stejná omezení oprávnění jako pro hlavní stránku, do které jsou tyto skripty integrovány (například pokud stránka nemá přístup k API pro určení polohy, skript doplňku tento přístup také nezíská). Změna má být implementována ve Firefoxu.
- Zákaz provádění kódu načteného z externích serverů (tedy situace, kdy doplněk načítá a provádí externí kód). Ve Firefoxu už platí blokování externího kódu a vývojáři Mozilly nemají nic proti zesílení takové ochrany zavedením dalších technik sledování načítání kódu, jak je navrženo ve třetí verzi manifestu.
Zdroj: opennet.ru
