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