Mozilla не буде переносити всі обмеження API WebExtensions із нового маніфесту Chrome

Компанія Mozilla оголосила, Що незважаючи на використання в Firefox системи доповнень на основі API WebExtensions, розробники не мають наміру повністю слідувати майбутній третій редакції маніфесту на доповнення Chrome. Зокрема, у Firefox буде продовжено підтримку блокуючого режиму роботи API веб-запит, що дозволяє міняти контент, що приймається, на льоту і затребуваного в блокувальниках реклами і системах фільтрації контенту.

Основною ідеєю переходу на API WebExtensions була уніфікація технології розробки доповнень для Firefox та Chrome, тому у поточному вигляді у Firefox майже на 100% забезпечена сумісність із актуальною другою версією маніфесту Chrome. Маніфест визначає перелік можливостей та ресурсів, що надаються доповненням. Через внесення в третю версію маніфесту обмежувальних заходів, що негативно сприймаються розробниками доповнень, Mozilla відійде від практики повного дотримання маніфесту і не буде переносити до Firefox зміни, що порушують сумісність з доповненнями.

Нагадаємо, що незважаючи на всі запереченняКомпанія Google має намір припинити підтримку в Chrome блокуючого режиму роботи API webRequest, обмеживши його режимом тільки для читання і запропонувавши для фільтрації контенту новий декларативний API declarativeNetRequest. Якщо API webRequest дозволяв підключати власні обробники, що мають повний доступ до мережевих запитів і здатні на льоту модифікувати трафік, новий API declarativeNetRequest надає доступ до готового універсального вбудованого двигуна для фільтрації, самостійно обробляє правила блокування, що не дозволяє використовувати власні алгоритми. правила, що перекривають одне одного залежно та умовами.

Mozilla також оцінює доцільність перенесення у Firеfox підтримки деяких інших змін із третьої версії маніфесту Chrome, що порушують сумісність із доповненнями:

  • Перехід до виконання Service workers у формі фонових процесів, що вимагатиме від розробників зміни коду деяких доповнень. Незважаючи на те, що новий метод є більш оптимальним з точки зору продуктивності, Mozilla розглядає можливість збереження підтримки виконання фонових сторінок.
  • Нова гранульована модель запиту повноважень - доповнення не зможе активуватися відразу для всіх сторінок (прибрано повноваження "all_urls"), а працюватиме тільки в контексті активної вкладки, тобто. користувачеві знадобиться підтверджувати роботу доповнення для кожного сайту. Mozilla досліджує шляхи посилення контролю доступу, які постійно відволікають користувача.
  • Зміна обробки Cross-origin запитів — відповідно до нового маніфесту на скрипти обробки контенту поширюватимуться ті ж обмеження повноважень, що й для основної сторінки, в яку ці скрипти впроваджуються (наприклад, якщо сторінка не має доступу до API місцезнаходження, то і скрипт також не отримає цей доступ). Зміну планується реалізувати у Firefox.
  • Заборона виконання коду, завантаженого із зовнішніх серверів (мова про ситуації, коли доповнення підвантажує та виконує зовнішній код). Firefox вже застосовує блокування зовнішнього коду і розробники Mozilla не проти посилити подібний захист, застосовуючи додаткові техніки відстеження завантажень коду, які пропонуються в третій версії маніфесту.

Джерело: opennet.ru

Додати коментар або відгук