Para usar a maioria das APIs chrome.* APIs, sua extensão ou app precisa declarar a intent no campo "permissions" do manifesto. Cada permissão pode ser uma das strings conhecidas (como "geolocation") ou um padrão de correspondência que dá acesso a um ou mais hosts. As permissões ajudam a limitar os danos se a extensão ou o app for comprometido por malware. Algumas permissões também são mostradas aos usuários antes da instalação, conforme detalhado em Avisos de permissão.
Se uma API exigir que você declare uma permissão no manifesto, a documentação dela vai explicar como fazer isso. Por exemplo, a página Armazenamento mostra como declarar a permissão "storage".
Veja um exemplo da parte de permissões de um arquivo de manifesto:
"permissions": [
"tabs",
"bookmarks",
"http://www.blogger.com/",
"http://*.google.com/",
"unlimitedStorage"
],
A tabela a seguir lista as permissões disponíveis no momento:
| Permissão | Descrição |
|---|---|
"activeTab" |
Solicita que a extensão receba permissões de acordo com a especificação activeTab. |
"alarms" |
Dá à extensão acesso à API chrome.alarms. |
"background" |
Faz o Chrome iniciar mais cedo e fechar mais tarde, para que os apps e as extensões tenham uma vida útil mais longa. Quando qualquer app hospedado, app empacotado ou extensão instalada tem a permissão "background", o Chrome é executado (de forma invisível) assim que o usuário faz login no computador, antes de abrir o Chrome. A permissão "background" também faz com que o Chrome continue em execução (mesmo depois que a última janela é fechada) até que o usuário saia explicitamente do Chrome. Observação: os apps e as extensões desativados são tratados como se não estivessem
instalados.
Normalmente, você usa a permissão "background" com uma página de segundo plano, uma página de evento ou (para apps hospedados) uma janela de segundo plano. |
"bookmarks" |
Dá à extensão acesso à API chrome.bookmarks. |
"browsingData" |
Dá à extensão acesso à API chrome.browsingData. |
"certificateProvider" |
Dá à extensão acesso à API chrome.certificateProvider. |
"clipboardRead" |
Obrigatório se a extensão ou o app usar document.execCommand('paste'). |
"clipboardWrite" |
Indica que a extensão ou o app usa document.execCommand('copy') ou
document.execCommand('cut'). Essa permissão é obrigatória para apps hospedados e recomendada
para extensões e apps empacotados. |
"contentSettings" |
Dá à extensão acesso à API chrome.contentSettings. |
"contextMenus" |
Dá à extensão acesso à API chrome.contextMenus. |
"cookies" |
Dá à extensão acesso à API chrome.cookies. |
"debugger" |
Dá à extensão acesso à API chrome.debugger. |
"declarativeContent" |
Dá à extensão acesso à API chrome.declarativeContent. |
"declarativeNetRequest" |
Dá à extensão acesso à API chrome.declarativeNetRequest. |
"declarativeNetRequestFeedback" |
Concede à extensão acesso a eventos e métodos na API chrome.declarativeNetRequest que retornam informações sobre regras declarativas correspondentes. |
"declarativeWebRequest" |
Dá à extensão acesso à API chrome.declarativeWebRequest. |
"desktopCapture" |
Dá à extensão acesso à API chrome.desktopCapture. |
"documentScan" |
Dá à extensão acesso à API chrome.documentScan. |
"downloads" |
Dá à extensão acesso à API chrome.downloads. |
"enterprise.deviceAttributes" |
Dá à extensão acesso à API chrome.enterprise.deviceAttributes. |
"enterprise.hardwarePlatform" |
Dá à extensão acesso à API chrome.enterprise.hardwarePlatform. |
"enterprise.networkingAttributes" |
Dá à extensão acesso à API chrome.enterprise.networkingAttributes. |
"enterprise.platformKeys" |
Dá à extensão acesso à API chrome.enterprise.platformKeys. |
"experimental" |
Obrigatório se a extensão ou o app usar qualquer API chrome.experimental.* APIs. |
"fileBrowserHandler" |
Dá à extensão acesso à API chrome.fileBrowserHandler. |
"fileSystemProvider" |
Dá à extensão acesso à API chrome.fileSystemProvider. |
"fontSettings" |
Dá à extensão acesso à API chrome.fontSettings. |
"gcm" |
Dá à extensão acesso à API chrome.gcm. |
"geolocation" |
Permite que a extensão ou o app use a API de geolocalização sem pedir permissão ao usuário. |
"history" |
Dá à extensão acesso à API chrome.history. |
"identity" |
Dá à extensão acesso à API chrome.identity. |
"idle" |
Dá à extensão acesso à API chrome.idle. |
"loginState" |
Dá à extensão acesso à API chrome.loginState. |
"management" |
Dá à extensão acesso à API chrome.management. |
"nativeMessaging" |
Dá à extensão acesso à API de mensagens nativas. |
"notifications" |
Dá à extensão acesso à API chrome.notifications. |
"pageCapture" |
Dá à extensão acesso à API chrome.pageCapture. |
"platformKeys" |
Dá à extensão acesso à API chrome.platformKeys. |
"power" |
Dá à extensão acesso à API chrome.power. |
"printerProvider" |
Dá à extensão acesso à API chrome.printerProvider. |
"printing" |
Dá à extensão acesso à API chrome.printing. |
"printingMetrics" |
Dá à extensão acesso à API chrome.printingMetrics. |
"privacy" |
Dá à extensão acesso à API chrome.privacy. |
"processes" |
Dá à extensão acesso à API chrome.processes. |
"proxy" |
Dá à extensão acesso à API chrome.proxy. |
"scripting" |
Dá à extensão acesso à API chrome.scripting. |
"search" |
Dá à extensão acesso à API chrome.search. |
"sessions" |
Dá à extensão acesso à API chrome.sessions. |
"signedInDevices" |
Dá à extensão acesso à API chrome.signedInDevices. |
"storage" |
Dá à extensão acesso à API chrome.storage. |
"system.cpu" |
Dá à extensão acesso à API chrome.system.cpu. |
"system.display" |
Dá à extensão acesso à API chrome.system.display. |
"system.memory" |
Dá à extensão acesso à API chrome.system.memory. |
"system.storage" |
Dá à extensão acesso à API chrome.system.storage. |
"tabCapture" |
Dá à extensão acesso à API chrome.tabCapture. |
"tabGroups" |
Dá à extensão acesso à API chrome.tabGroups. |
"tabs" |
Dá à extensão acesso a campos privilegiados dos objetos Tab usados por várias APIs,
incluindo chrome.tabs e chrome.windows. Em
muitas circunstâncias, sua extensão não precisará declarar a permissão "tabs" para usar
essas APIs. |
"topSites" |
Dá à extensão acesso à API chrome.topSites. |
"tts" |
Dá à extensão acesso à API chrome.tts. |
"ttsEngine" |
Dá à extensão acesso à API chrome.ttsEngine. |
"unlimitedStorage" |
Oferece uma cota ilimitada para armazenar dados do lado do cliente, como bancos de dados e arquivos de armazenamento local.
Sem essa permissão, a extensão ou o app fica limitado a 5 MB de armazenamento local. Observação: essa permissão se aplica apenas ao banco de dados Web SQL e ao cache do aplicativo
(consulte o problema 58985). Além disso, ele não funciona com subdomínios curinga, como
http://*.example.com. |
"vpnProvider" |
Dá à extensão acesso à API chrome.vpnProvider. |
"webNavigation" |
Dá à extensão acesso à API chrome.webNavigation. |
"webRequest" |
Dá à extensão acesso à API chrome.webRequest. |
"webRequestBlocking" |
Obrigatório se a extensão usar a API chrome.webRequest de maneira bloqueadora. |