В Chrome началось тестирование третьей редакции манифеста, несовместимой с uBlock Origin

Компания Google начала тестирование третьей редакции манифеста Chrome, нарушающей работу многих дополнений для блокирования нежелательного контента и обеспечения безопасности. Поддержка нового манифеста, который определяет возможности и ресурсы, предоставляемые дополнениям, добавлена в экспериментальные сборки Chrome Canary.

Манифест пока находится на стадии раннего альфа-тестирования, не является окончательным и добавлен, чтобы дать разработчикам возможность начать экспериментировать и адаптировать свои дополнения. Активация нового манифеста ожидается в следующем году. Время прекращения поддержки второй редакции манифеста пока не определено. Для упрощения миграции дополнений на новый манифест подготовлен проверочный список, включающий изменения, на которые следует обратить внимание разработчикам дополнений.

Напомним, что основное недовольство новым манифестом связано с прекращением поддержки блокирующего режима работы API webRequest, который будет ограничен режимом только для чтения. Исключение будет сделано лишь для редакции Chrome для предприятий (Chrome for Enterprise), в которых поддержка API webRequest будет сохранена. Компания Mozilla решила не следовать за новым манифестом и сохранить в Firefox возможность полного использования API webRequest.

Вместо API webReques для фильтрации контента в новом манифесте предложен декларативный API declarativeNetRequest. Если API webRequest позволял подключать собственные обработчики, имеющие полный доступ к сетевым запросам и способные на лету модифицировать трафик, новый API declarativeNetRequest предоставляет доступ к готовому универсальному встроенному движку для фильтрации, самостоятельно обрабатывающему правила блокировки, не разрешающему использовать собственные алгоритмы фильтрации и не позволяющему задавать сложные правила, перекрывающие друг друга в зависимости от условий.

В новом манифесте также представлены и другие изменения, влияющие на совместимость с дополнениями. Среди них:

  • Переход к выполнению Service workers в форме фоновых процессов, что потребует от разработчиков изменения кода некоторых дополнений.
  • Новая гранулированная модель запроса полномочий — дополнение не сможет активироваться сразу для всех страниц (убрано полномочие «all_urls»), а будет работать только в контексте активной вкладки, т.е. пользователю потребуется подтверждать работу дополнения для каждого сайта.
  • Изменение обработки Cross-origin запросов — в соответствии с новым манифестом на скрипты обработки контента будут распространяться те же ограничения полномочий, что и для основной страницы, в которую эти скрипты внедряются (например, если страница не имеет доступа к API определению местоположения, то и скрипт дополнения также не получит этот доступ).
  • Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код).

Источник: http://www.opennet.ru/opennews/art.shtml?num=51802