Компания Mozilla , въпреки че, въпреки използването на системата за разширения, основана на API WebExtensions, в Firefox, разработчиците не смятат да следват напълно бъдещата трета версия на манифеста за разширения на Chrome. По-специално, в Firefox ще продължи поддръжката на блокиращия режим на работа на API , позволяващ промяна на полученото съдържание в реално време и търсен от блокировачи на реклама и системи за филтриране на съдържание.
Основната идея зад преминаването към API WebExtensions беше унификацията на технологията за разработка на разширения за Firefox и Chrome, така че в настоящия си вид Firefox практически на 100 % осигурява съвместимост с актуалната втора версия на манифеста на Chrome. Манифестът определя списъка с възможности и ресурси, предоставяни на разширенията. Поради въвеждането на ограничения в третата версия на манифеста, възприемани негативно от разработчиците на разширения, Mozilla ще се откаже от практиката на пълно следване на манифеста и няма да пренася в Firefox изменения, които нарушават съвместимостта с разширенията.
Напомняме, че , компанията Google планира да прекрати поддръжката на блокиращия режим на API webRequest в Chrome, ограничавайки го само до режим на четене и предлагайки нов декларативен API за филтриране на съдържание . Ако API webRequest позволяваше свързването на собствени обработвачи, които имат пълен достъп до мрежовите заявки и могат в реално време да модифицират трафика, новият API declarativeNetRequest предоставя достъп до готов универсален вграден механизъм за филтриране, който самостоятелно обработва правилата за блокиране, като не позволява използването на собствени алгоритми за филтриране и не позволява задаването на сложни правила, които се припокриват в зависимост от условията.
Mozilla също така оценява целесъобразността на прехвърлянето на поддръжката на някои от другите промени от третата версия на манифеста на Chrome, които нарушават съвместимостта с разширенията:
- Преминаването към изпълнение на Service workers под формата на фонови процеси, което ще изисква от разработчиците да променят кода на някои разширения. Въпреки че новият метод е по-оптимален от гледна точка на производителността, Mozilla разглежда възможността за запазване на поддръжката на фоновите страници.
- Нова гранулирана модел за искане на разрешения — добавката не може да активира веднага за всички страници (премахнато разрешение „all_urls“), а ще работи само в контекста на активната раздела, т.е. потребителят трябва да потвърди работата на добавката за всеки сайт. Mozilla проучва начини за засилване на контрола на достъпа, без да отклонява постоянно потребителя.
- Промяна в обработката на Cross-origin искания — в съответствие с новия манифест за скриптове, ограниченията на разрешенията ще се прилагат и за основната страница, в която тези скриптове се внедряват (например, ако страницата няма достъп до API за определяне на местоположението, тогава и скриптът на добавката няма да получи този достъп). Изменението се планира да бъде реализирано във Firefox.
- Забрана за изпълнение на код, зареждан от външни сървъри (става въпрос за ситуации, когато добавката зарежда и изпълнява външен код). В Firefox вече се прилага блокировка на външен код и разработчиците на Mozilla не са против да укрепят подобна защита, прилагайки допълнителни техники за проследяване на зареждания на код, предложени в третата версия на манифеста.
Източник: opennet.ru
