Что происходит с расширениями Chrome?

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

Добро пожаловать в октябрьский выпуск! В этом посте мы рассмотрим некоторые изменения, которые команда расширений Chrome внесла за последние несколько месяцев, а также некоторые новые функции, которые появятся позже в этом году. Давайте начнем!

Новые API и функции расширений

В этом разделе мы рассказываем о некоторых важных новинках API, кратко рассматриваем другие улучшения API и рассказываем о предстоящих выпусках. Все запуски в настоящее время доступны в последней бета-версии. Подробности смотрите в графике выпуска хрома .

Основные моменты

Решены известные проблемы

Команда расширения активно работает над решением проблем со стабильностью Manifest V3. В Chrome 116 появилось множество улучшений , которые помогли нам добиться значительного прогресса в устранении разрыва в функциях между Manifest V2 и V3. В Chrome 120 мы завершим устранение всех приоритетных недостатков платформы и исправим все критические ошибки, описанные на странице известных проблем . В настоящее время в Chrome 120 Canary доступны все функции, за исключением поддержки fileHandler для ChromeOS Lacros и API userScripts, который появится позже в этом месяце. Посетите обновленную страницу известных проблем для получения более подробной информации.

Улучшена стабильность Service Worker.

Проблемы со стабильностью, связанные с сервисными работниками, были решены. В Chrome 116 мы добавили надежную проверку активности в API расширений, которые отображают приглашение пользователя , и улучшили поддержку WebSockets (см. руководство «Использование WebSockets в расширениях »). Начиная с Chrome 118, сервис-воркер будет оставаться активным во время активного сеанса API отладчика .

Для получения более подробной информации ознакомьтесь с нашим обновленным руководством для сервисных работников . Если ваши пользователи по-прежнему сталкиваются с проблемами стабильности, связанными с Service Worker, в версиях Chrome после 119, сообщите нам об этом .

Повышенная безопасность

Ранее переход к некоторым URL-адресам chrome:// с помощью tabs.update() , tabs.create и windows.create() приводил к ошибке или приводил к сбою Chrome. Кроме того, tabs.update() не смог открыть URL-адрес Javascript. В Chrome 117 мы расширили количество поддерживаемых URL-адресов chrome:// , а блокировка URL-адресов Javascript теперь также применяется ко всем методам API расширений.

В Chrome 117 пользователи будут получать упреждающие уведомления на странице расширений Chrome, если установленное ими расширение больше не доступно в Интернет-магазине Chrome. Это может произойти, если разработчик отменяет публикацию расширения, оно удаляется из-за нарушения политики или определяется как вредоносное ПО. Подробную информацию см. в разделе «Проверка безопасности на странице chrome://extensions» .

В Chrome 118 расширениям не будет разрешено переходить по URL-адресам file:// с помощью API chrome.tabs и chrome.windows , если на странице сведений о расширении не включен параметр «Разрешить доступ к URL-адресам файлов». См. обсуждение WECG .

Больше запусков API

  • API среды выполнения: начиная с Chrome 116, вы можете использовать runtime.getContexts() для получения информации об активных контекстах. Например, вы можете проверить, есть ли активный закадровый документ .
  • API боковой панели В Chrome 116 вы можете использовать sidepanel.open() для программного открытия боковой панели расширения в ответ на жест пользователя, например щелчок в контекстном меню.
  • API TabCapture Добавлена ​​возможность вызывать getMediaStreamId() из работника службы расширений и получать объект MediaStream из идентификатора потока в закадровом документе в Chrome 116. Примеры см. в разделе Запись звука и снимок экрана .
  • DeclarativeNetRequest API: значение по умолчанию для свойства isUrlFilterCaseSensitive было изменено на false в Chrome 118 .

Вскоре...

Мы планируем устранить все оставшиеся элементы на странице известных проблем с выпуском Chrome 120. Кроме того, мы планируем добавить следующие функции:

  • API UserScripts позволит менеджерам пользовательских сценариев координировать, как и когда внедрять набор пользовательских сценариев на веб-страницы. Подробности смотрите в предложении WECG .
  • API ReadingList позволит разработчикам создавать, читать, обновлять и удалять метаданные, расположенные на панели «Список чтения» боковой панели. Смотрите анонс «Что нового в расширениях Chrome» .
  • Следуя отзывам в группе сообщества веб-расширений, мы значительно увеличиваем ограничение на количество включенных статических наборов правил с 10 до 50 . Кроме того, мы увеличиваем общее количество разрешенных статических наборов правил с 50 до 100 . В настоящее время это доступно на Канарских островах.
  • API обработки файлов: будет доступен для расширений ChromeOS, начиная с ChromeOS 120, что позволяет расширениям открывать файлы с указанными типами MIME и расширениями файлов аналогично обработке файлов веб-платформы.
  • Расширения смогут использовать веб- API Push через self.registration.pushManager.subscribe() без отображения видимого пользователю уведомления, установив для userVisibleOnly значение false . Это сделает push-уведомления более удобной альтернативой WebSockets в сервис-воркерах (MV3) для асинхронной связи клиент-сервер. Подробности см. в разделе «Ошибка Chromium» и обсуждении WECG .

Следите за обновлениями на странице «Что нового в расширениях» , чтобы получать объявления, как только эти функции станут доступны в бета-версии Chrome .

Обновления документации

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

Основные моменты

Больше обновлений

Вскоре...

  • Справочник и руководство по API пользовательских сценариев.
  • Учебник и примеры Firebase.
  • Справочник по API ReadingList.

Редизайн интернет-магазина Chrome 🌈

Скриншот главной страницы Интернет-магазина Chrome. .
Новая домашняя страница Интернет-магазина Chrome

Ранее в этом месяце мы анонсировали предварительную предварительную версию обновленного Интернет-магазина Chrome, намекнув на Google I/O. Убедитесь сами! https://chromewebstore.google.com/ . Несколько примечательных изменений:

  • Увеличен список категорий с одиннадцати до нового списка из семнадцати в трех группах категорий.
  • Улучшено автозаполнение в поиске.
  • Скриншоты теперь отображаются в значительно более высоком качестве. Если вы еще этого не сделали, вы можете загрузить скриншоты размером 1280x800.
  • В ответах на вопросы на вкладке «Поддержка» теперь отображаются новые строки.
  • При ответе на отзывы пользователей и вопросы поддержки рядом с вашим именем теперь будет отображаться значок «Разработчик».
  • Вы можете предоставить пользователям прямую ссылку на страницу отзывов, добавив «/reviews» в конце URL-адреса вашего товара в магазине. Например: https://chromewebstore.google.com/detail/_EXTENSION_ID_/reviews .

Благодарим всех за вклад в группе chromium-google . Не стесняйтесь присоединиться к обсуждению или отправить свой отзыв непосредственно команде CWS, используя пункт меню «Оставить отзыв» :

Оставьте отзыв на странице Интернет-магазина Chrome.
Оставление отзыва на странице Интернет-магазина Chrome

Кроме того, вы можете отправить форму самовыдвижения для включения в коллекцию «Выбор редакции». Следите за обновлениями, скоро появятся улучшения и на панели разработчика!

💡Знали ли вы?

  • Вышло новое видео об отладке расширений Chrome. В нем рассматриваются многие темы, с которыми вы, возможно, уже знакомы, а также рассказывается о нескольких изящных приемах использования DevTools в расширениях.
  • Теперь вам необходимо предоставить политику конфиденциальности для каждого расширения. Раньше вы могли добавить только одну политику конфиденциальности для каждой учетной записи разработчика, но это было неудобно, если у вас было несколько расширений под одной учетной записью разработчика. Этот новый интерфейс доступен на вкладке «Конфиденциальность» вашего продукта на панели разработчика. Это означает, что политики конфиденциальности на уровне учетной записи больше не поддерживаются.
    Скриншот окна политики конфиденциальности
    Скриншот окна политики конфиденциальности

Обращаюсь 🙌

Мы продолжаем общаться с сообществом разработчиков расширений посредством личных встреч, запуская новые программы и посещая саммиты. Вот несколько основных моментов:

  • Программа Google Developer Experts по расширениям была запущена в августе. У нас есть более дюжины новых GDE, ориентированных на расширения Chrome, со всего мира, которые оставили нам отличные отзывы. Это очень интересное время для программы!
  • Мы посетили TPAC (ежегодную конференцию W3C) в составе группы сообщества веб-расширений и встретились с представителями Firefox и Safari, а также с несколькими членами сообщества. Мы добились значительного прогресса по нескольким темам, включая переход к более согласованным API расширений, работу над спецификацией и создание нового набора тестов на основе тестов веб-платформы. Полный протокол читайте в репозитории WECG .
  • На прошлой неделе команда расширения приняла участие в саммите разработчиков по фильтрации рекламы в Амстердаме. Они встретились с некоторыми из вас во время беседы за чашкой кофе, которую организовали перед неделей саммита и часами работы офиса в пятницу.
    Команда расширения на саммите разработчиков по фильтрации рекламы
    Команда расширения на саммите разработчиков по фильтрации рекламы

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

Еще раз спасибо за то, что вы являетесь частью сообщества разработчиков расширений!