Объявить разрешения

Чтобы использовать большинство API-интерфейсов chrome.*, ваше расширение или приложение должно объявить о своем намерении в поле «разрешения» манифеста . Каждое разрешение может быть либо одним из списка известных строк (например, «геолокация»), либо шаблоном соответствия , который предоставляет доступ к одному или нескольким хостам. Разрешения помогают ограничить ущерб, если ваше расширение или приложение заражено вредоносным ПО. Некоторые разрешения также отображаются пользователям перед установкой, как подробно описано в разделе «Предупреждения о разрешениях» .

Если API требует от вас объявить разрешение в манифесте, то в его документации указано, как это сделать. Например, на странице «Хранилище» показано, как объявить разрешение «хранилище».

Вот пример части разрешений файла манифеста:

"permissions": [
  "tabs",
  "bookmarks",
  "http://www.blogger.com/",
  "http://*.google.com/",
  "unlimitedStorage"
],

В следующей таблице перечислены доступные на данный момент разрешения:

Разрешение Описание
"activeTab" Запрашивает, чтобы расширению были предоставлены разрешения в соответствии со спецификацией activeTab .
"alarms" Предоставляет вашему расширению доступ к API chrome.alarms .
"background"

Заставляет Chrome запускаться раньше и завершать работу позже, чтобы приложения и расширения работали дольше.

Если любое установленное размещенное приложение, упакованное приложение или расширение имеет «фоновое» разрешение, Chrome запускается (незаметно), как только пользователь входит в свой компьютер — до того, как пользователь запустит Chrome. «Фоновое» разрешение также позволяет Chrome продолжать работу (даже после закрытия его последнего окна), пока пользователь явно не выйдет из Chrome.

Примечание. Отключенные приложения и расширения обрабатываются так, как будто они не установлены.

Обычно вы используете «фоновое» разрешение для фоновой страницы , страницы событий или (для размещенных приложений) фонового окна .

"bookmarks" Предоставляет вашему расширению доступ к API chrome.bookmarks .
"browsingData" Предоставляет вашему расширению доступ к API chrome.browsingData .
"certificateProvider" Предоставляет вашему расширению доступ к API chrome.certificateProvider .
"clipboardRead" Обязательно, если расширение или приложение использует document.execCommand('paste') .
"clipboardWrite" Указывает, что расширение или приложение использует document.execCommand('copy') или document.execCommand('cut') . Это разрешение требуется для размещенных приложений ; рекомендуется для расширений и упакованных приложений.
"contentSettings" Предоставляет вашему расширению доступ к API chrome.contentSettings .
"contextMenus" Предоставляет вашему расширению доступ к API chrome.contextMenus .
"cookies" Предоставляет вашему расширению доступ к API chrome.cookies .
"debugger" Предоставляет вашему расширению доступ к API chrome.debugger .
"declarativeContent" Предоставляет вашему расширению доступ к API chrome.declarativeContent .
"declarativeNetRequest" Предоставляет вашему расширению доступ к API chrome.declarativeNetRequest .
"declarativeNetRequestFeedback" Предоставляет расширению доступ к событиям и методам в API chrome.declarativeNetRequest , которые возвращают информацию о сопоставленных декларативных правилах.
"declarativeWebRequest" Предоставляет вашему расширению доступ к API chrome.declarativeWebRequest .
"desktopCapture" Предоставляет вашему расширению доступ к API chrome.desktopCapture .
"documentScan" Предоставляет вашему расширению доступ к API chrome.documentScan .
"downloads" Предоставляет вашему расширению доступ к API chrome.downloads .
"enterprise.deviceAttributes" Предоставляет вашему расширению доступ к API chrome.enterprise.deviceAttributes .
"enterprise.hardwarePlatform" Предоставляет вашему расширению доступ к API chrome.enterprise.hardwarePlatform .
"enterprise.networkingAttributes" Предоставляет вашему расширению доступ к API chrome.enterprise.networkingAttributes .
"enterprise.platformKeys" Предоставляет вашему расширению доступ к API chrome.enterprise.platformKeys .
"experimental" Обязательно, если расширение или приложение использует API chrome.experimental.* .
"fileBrowserHandler" Предоставляет вашему расширению доступ к API chrome.fileBrowserHandler .
"fileSystemProvider" Предоставляет вашему расширению доступ к API chrome.fileSystemProvider .
"fontSettings" Предоставляет вашему расширению доступ к API chrome.fontSettings .
"gcm" Предоставляет вашему расширению доступ к API chrome.gcm .
"geolocation" Позволяет расширению или приложению использовать API геолокации , не запрашивая разрешения у пользователя.
"history" Предоставляет вашему расширению доступ к API chrome.history .
"identity" Предоставляет вашему расширению доступ к API chrome.identity .
"idle" Предоставляет вашему расширению доступ к API chrome.idle .
"loginState" Предоставляет вашему расширению доступ к API chrome.loginState .
"management" Предоставляет вашему расширению доступ к API chrome.management .
"nativeMessaging" Предоставляет вашему расширению доступ к собственному API обмена сообщениями .
"notifications" Предоставляет вашему расширению доступ к API chrome.notifications .
"pageCapture" Предоставляет вашему расширению доступ к API chrome.pageCapture .
"platformKeys" Предоставляет вашему расширению доступ к API chrome.platformKeys .
"power" Предоставляет вашему расширению доступ к API chrome.power .
"printerProvider" Предоставляет вашему расширению доступ к API chrome.printerProvider .
"printing" Предоставляет вашему расширению доступ к API chrome.printing .
"printingMetrics" Предоставляет вашему расширению доступ к API chrome.printingMetrics .
"privacy" Предоставляет вашему расширению доступ к API chrome.privacy .
"processes" Предоставляет вашему расширению доступ к API chrome.processes .
"proxy" Предоставляет вашему расширению доступ к API chrome.proxy .
"scripting" Предоставляет вашему расширению доступ к API chrome.scripting .
"sessions" Предоставляет вашему расширению доступ к API chrome.sessions .
"signedInDevices" Предоставляет вашему расширению доступ к API chrome.signedInDevices .
"storage" Предоставляет вашему расширению доступ к API chrome.storage .
"system.cpu" Предоставляет вашему расширению доступ к API chrome.system.cpu .
"system.display" Предоставляет вашему расширению доступ к API chrome.system.display .
"system.memory" Предоставляет вашему расширению доступ к API chrome.system.memory .
"system.storage" Предоставляет вашему расширению доступ к API chrome.system.storage .
"tabCapture" Предоставляет вашему расширению доступ к API chrome.tabCapture .
"tabGroups" Предоставляет вашему расширению доступ к API chrome.tabGroups .
"tabs" Предоставляет вашему расширению доступ к привилегированным полям объектов Tab , используемых несколькими API, включая chrome.tabs и chrome.windows . Во многих случаях вашему расширению не нужно будет объявлять разрешение "tabs" для использования этих API.
"topSites" Предоставляет вашему расширению доступ к API chrome.topSites .
"tts" Предоставляет вашему расширению доступ к API chrome.tts .
"ttsEngine" Предоставляет вашему расширению доступ к API chrome.ttsEngine .
"unlimitedStorage" Предоставляет неограниченную квоту для хранения данных на стороне клиента, таких как базы данных и файлы локального хранилища. Без этого разрешения расширение или приложение ограничено 5 МБ локального хранилища.
Примечание. Это разрешение применяется только к базе данных веб-SQL и кэшу приложений (см. проблему 58985 ). Кроме того, в настоящее время он не работает с поддоменами с подстановочными знаками, такими как http://*.example.com .
"vpnProvider" Предоставляет вашему расширению доступ к API chrome.vpnProvider .
"wallpaper" Предоставляет вашему расширению доступ к API chrome.wallpaper .
"webNavigation" Предоставляет вашему расширению доступ к API chrome.webNavigation .
"webRequest" Предоставляет вашему расширению доступ к API chrome.webRequest .
"webRequestBlocking" Требуется, если расширение использует API chrome.webRequest в режиме блокировки.