Разработчикам: переход на manifest версии 2

UPD. Сроки сдвинули до 2014 года!

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

Основные различия версий

1. Расширения и приложения больше не имеют права использовать в своей работе внешние ресурсы, к примеру, картинки или скрипты. Если они вам нужны, то упаковывайте их вместе с кодом. Либо вносите в исключения, описываемые через web_accessible_resources.

2. Самое неприятное (придется многое переписать) - политика безопасности стала еще круче. Теперь в ваших html запрещено использовать встроенные скрипты: вставить скрипт в тег <script> уже нельзя. Надо подключать его как js файл. Ну и конечно же запрещены встроенные обработчики событий, к примеру, <button onclick="...">.

3. Вместо background_page теперь применяется background. Причем фоновая страница может быть не только страницей html, но и js-файлом.

4. Также заявлены некоторые изменения в browser_action и page_action, но я разницы не заметил т.к. еще в старых своих расширениях уже все было правильно. Подробнее можно будет ознакомиться в документации, которую приведу в конце статьи.

5. В самом манифесте новой версии необходимо теперь явно указывать версию манифеста: "manifest_version": 2.

График внедрения второй версии

Новая версия манифеста будет внедряться постепенно. Приведем план.

Chrome 21

В Chrome Web Store будет запрещено создавать новые разработки, оформленные по старым правилам. Обновлять уже существующие можно будет. В том числе до версий, которые еще не переведены на 2 версию.

Chrome 23

В Chrome Web Store запрещено загружать любые разработки, не обновленные до 2 версии. Сам браузер перестанет упаковывать или загружать распакованные дополнения первой версии (что актуально при разработке).

Первый квартал 2013 года

В Chrome Web Store дополнения первой версии исчезнут из поиска и рубрик. Разработки останутся доступны только по прямым ссылкам.

Второй квартал 2013 года

В Chrome Web Store будут скрыты все не обновленные разработки. Останутся в аккаунтах разработчиков, но установить будет уже невозможно без обновления.

Третий квартал 2013 года

Google Chrome больше не сможет запускать и использовать старые версии.

Документация

Описание новой версии манифеста - http://code.google.com/chrome/extensions/manifestVersion.html

Описание новой политики безопасности - http://code.google.com/chrome/extensions/contentSecurityPolicy.html

Ну что, товарищи разработчики, постепенно обновляемся!