Компания Google третьей редакции манифеста Chrome, многих дополнений для блокирования нежелательного контента и обеспечения безопасности. Поддержка нового манифеста, который определяет возможности и ресурсы, предоставляемые дополнениям, добавлена в экспериментальные сборки .
Новый манифест разработан в рамках по усилению безопасности, конфиденциальности и производительности дополнений (основной целью является упрощение создания безопасных и высокопроизводительных дополнений, и усложнение возможности создания небезопасных и медленных дополнений).
Манифест пока находится на стадии раннего альфа-тестирования, не является окончательным и добавлен, чтобы дать разработчикам возможность начать экспериментировать и адаптировать свои дополнения.
Активация нового манифеста ожидается в следующем году. Время прекращения поддержки второй редакции манифеста пока не определено.
Для упрощения миграции дополнений на новый манифест подготовлен , включающий изменения, на которые следует обратить внимание разработчикам дополнений.
Напомним, что связано с прекращением поддержки блокирующего режима работы API webRequest, который будет ограничен режимом только для чтения. Исключение будет сделано лишь для редакции Chrome для предприятий (Chrome for Enterprise), в которых поддержка API webRequest будет сохранена. Компания Mozilla решила не следовать за новым манифестом и сохранить в Firefox возможность полного использования API webRequest.
Вместо API webRequest для фильтрации контента в новом манифесте предложен декларативный API . Если API webRequest позволял подключать собственные обработчики, имеющие полный доступ к сетевым запросам и способные на лету модифицировать трафик, новый API declarativeNetRequest предоставляет доступ к готовому универсальному встроенному движку для фильтрации, самостоятельно обрабатывающему правила блокировки, не разрешающему использовать собственные алгоритмы фильтрации и не позволяющему задавать сложные правила, перекрывающие друг друга в зависимости от условий.
В новом манифесте также представлены и другие изменения, влияющие на совместимость с дополнениями. Среди них:
- Переход к выполнению Service workers в форме фоновых процессов, что потребует от разработчиков изменения кода некоторых дополнений.
- Новая гранулированная модель запроса полномочий — дополнение не сможет активироваться сразу для всех страниц (убрано полномочие «all_urls»), а будет работать только в контексте активной вкладки, т.е. пользователю потребуется подтверждать работу дополнения для каждого сайта.
- Изменение обработки Cross-origin запросов — в соответствии с новым манифестом на скрипты обработки контента будут распространяться те же ограничения полномочий, что и для основной страницы, в которую эти скрипты внедряются (например, если страница не имеет доступа к API определению местоположения, то и скрипт дополнения также не получит этот доступ).
- Запрет выполнения кода, загруженного с внешних серверов (речь про ситуации, когда дополнение подгружает и выполняет внешний код).
Źródło: opennet.ru
