Para usar a maioria dos recursos do Chrome.* APIs, a extensão ou o aplicativo deverá declarar a intenção nas "permissões" campo do manifesto. Cada permissão pode ser parte de uma lista de strings conhecidas (como "geolocalização") 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 aplicativo forem comprometidos por malware. Algumas permissões também são exibidas aos usuários antes da instalação, conforme detalhado em Avisos de permissão.
Se uma API exige que você declare uma permissão no manifesto, a documentação informa como para fazer isso. Por exemplo, a página Armazenamento mostra como declarar a propriedade "storage" permissão.
Confira 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 classe activeTab especificação. |
"alarms" |
Concede à extensão acesso à API chrome.alarms. |
"background" |
Faz com que o Chrome seja iniciado antecipadamente e encerrado com atraso, para que os aplicativos e as extensões tenham uma duração mais longa vida. Quando qualquer aplicativo hospedado, empacotado ou extensão tiver um "segundo plano" permissão, o Chrome é executado (invisível) assim que o usuário fizer login no computador, antes de iniciar o Chrome. O "segundo plano" também faz com que o Chrome continue em execução (mesmo após o fechamento da última janela) até que o usuário explicitamente sai do Chrome. Observação:extensões e apps desativados são tratados como se não fossem
instalado.
Normalmente, você usa o "segundo plano" permissão com uma página de plano de fundo, uma página de evento ou (para aplicativos hospedados) uma janela em segundo plano. |
"bookmarks" |
Concede à extensão acesso à API chrome.bookmarks. |
"browsingData" |
Concede à extensão acesso à API chrome.browsingData. |
"certificateProvider" |
Concede à 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. é recomendado
para extensões e aplicativos em pacotes. |
"contentSettings" |
Concede à extensão acesso à API chrome.contentSettings. |
"contextMenus" |
Concede à extensão acesso à API chrome.contextMenus. |
"cookies" |
Concede à extensão acesso à API chrome.cookies. |
"debugger" |
Concede à extensão acesso à API chrome.debugger. |
"declarativeContent" |
Concede à extensão acesso à API chrome.declarativeContent. |
"declarativeNetRequest" |
Concede à extensão acesso à API chrome.declarativeNetRequest. |
"declarativeNetRequestFeedback" |
Concede à extensão acesso a eventos e métodos na API chrome.declarativeNetRequest, que retorna informações sobre regras correspondentes. |
"declarativeWebRequest" |
Concede à extensão acesso à API chrome.declarativeWebRequest. |
"desktopCapture" |
Concede à extensão acesso à API chrome.desktopCapture. |
"documentScan" |
Concede à extensão acesso à API chrome.documentScan. |
"downloads" |
Concede à extensão acesso à API chrome.downloads. |
"enterprise.deviceAttributes" |
Concede à extensão acesso à API chrome.enterprise.deviceAttributes. |
"enterprise.hardwarePlatform" |
Concede à extensão acesso à API chrome.enterprise.hardwarePlatform. |
"enterprise.networkingAttributes" |
Concede à extensão acesso à API chrome.enterprise.networkingAttributes. |
"enterprise.platformKeys" |
Concede à extensão acesso à API chrome.enterprise.platformKeys. |
"experimental" |
Obrigatório se a extensão ou o app usar qualquer elemento chrome.experimental.* APIs. |
"fileBrowserHandler" |
Concede à extensão acesso à API chrome.fileBrowserHandler. |
"fileSystemProvider" |
Concede à extensão acesso à API chrome.fileSystemProvider. |
"fontSettings" |
Concede à extensão acesso à API chrome.fontSettings. |
"gcm" |
Concede à extensão acesso à API chrome.gcm. |
"geolocation" |
Permite que a extensão ou o aplicativo use a API Geolocation sem solicitar que o usuário permissão. |
"history" |
Concede à extensão acesso à API chrome.history. |
"identity" |
Concede à extensão acesso à API chrome.identity. |
"idle" |
Concede à extensão acesso à API chrome.idle. |
"loginState" |
Concede à extensão acesso à API chrome.loginState. |
"management" |
Concede à extensão acesso à API chrome.management. |
"nativeMessaging" |
Concede à extensão acesso à API de mensagens nativas. |
"notifications" |
Concede à extensão acesso à API chrome.notifications. |
"pageCapture" |
Concede à extensão acesso à API chrome.pageCapture. |
"platformKeys" |
Concede à extensão acesso à API chrome.platformKeys. |
"power" |
Concede à extensão acesso à API chrome.power. |
"printerProvider" |
Concede à extensão acesso à API chrome.printerProvider. |
"printing" |
Concede à extensão acesso à API chrome.printing. |
"printingMetrics" |
Concede à extensão acesso à API chrome.printingMetrics. |
"privacy" |
Concede à extensão acesso à API chrome.privacy. |
"processes" |
Concede à extensão acesso à API chrome.processes. |
"proxy" |
Concede à extensão acesso à API chrome.proxy. |
"scripting" |
Concede à extensão acesso à API chrome.scripting. |
"search" |
Concede à extensão acesso à API chrome.search. |
"sessions" |
Concede à extensão acesso à API chrome.sessions. |
"signedInDevices" |
Concede à extensão acesso à API chrome.signedInDevices. |
"storage" |
Concede à extensão acesso à API chrome.storage. |
"system.cpu" |
Concede à extensão acesso à API chrome.system.cpu. |
"system.display" |
Concede à extensão acesso à API chrome.system.display. |
"system.memory" |
Concede à extensão acesso à API chrome.system.memory. |
"system.storage" |
Concede à extensão acesso à API chrome.system.storage. |
"tabCapture" |
Concede à extensão acesso à API chrome.tabCapture. |
"tabGroups" |
Concede à extensão acesso à API chrome.tabGroups. |
"tabs" |
Concede à extensão acesso a campos privilegiados dos objetos Tab usados por várias APIs.
incluindo chrome.tabs e chrome.windows. Em
Em muitas circunstâncias, sua extensão não precisará declarar a permissão "tabs" para fazer uso
essas APIs. |
"topSites" |
Concede à extensão acesso à API chrome.topSites. |
"tts" |
Concede à extensão acesso à API chrome.tts. |
"ttsEngine" |
Concede à extensão acesso à API chrome.ttsEngine. |
"unlimitedStorage" |
Fornece 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 do Web SQL e ao cache do aplicativo.
(consulte o problema 58985). Além disso, ele não funciona com caracteres curinga
subdomínios, como
http://*.example.com . |
"vpnProvider" |
Concede à extensão acesso à API chrome.vpnProvider. |
"wallpaper" |
Concede à extensão acesso à API chrome.wallpaper. |
"webNavigation" |
Concede à extensão acesso à API chrome.webNavigation. |
"webRequest" |
Concede à extensão acesso à API chrome.webRequest. |
"webRequestBlocking" |
Obrigatório se a extensão usar a API chrome.webRequest para bloquear. |