Extensões, temas e aplicativos são pacotes de recursos reunidos por um
manifest.json
que descreve o conteúdo do pacote. O formato deste arquivo é
Geralmente estável, mas ocasionalmente alterações interruptivas devem ser feitas para resolver problemas importantes.
Os desenvolvedores devem especificar por qual versão da especificação de manifesto o pacote é direcionado
definindo uma chave manifest_version
nos manifestos.
Versão atual
No momento, os desenvolvedores precisam especificar 'manifest_version': 2
:
{
...,
"manifest_version": 2,
...
}
A versão 1 do manifesto foi descontinuada no Chrome 18, e o suporte será descontinuado de acordo com a seguindo o cronograma.
Programação de suporte da versão 1 do manifesto
Agosto de 2012
- A Web Store bloqueará a criação de novas extensões da versão 1 do manifesto.
- A Web Store permitirá atualizações nas extensões da versão 1 do manifesto.
Março de 2013
- A Web Store bloqueará as atualizações das extensões da versão 1 do manifesto em 4 de março de 2013.
Abril de 2013
- O Chrome 27 Beta não empacotará extensões da versão 1 do manifesto (ou as carregará para desenvolvimento).
Junho de 2013
- A Web Store removerá as extensões da versão 1 do manifesto do mural, dos resultados de pesquisa e páginas de categoria.
- Os e-mails serão enviados a todos os desenvolvedores com as extensões da versão 1 do manifesto ainda disponíveis na loja lembrar que a publicação dessas extensões será cancelada e fornecer instruções de atualização.
Setembro de 2013
- A Web Store vai cancelar a publicação de todas as extensões da versão 1 do manifesto.
- Os e-mails de aviso final serão enviados aos desenvolvedores com as extensões da versão 1 do manifesto ainda disponíveis na Web Armazenar.
- O Chrome vai continuar carregando e executando as extensões instaladas da versão 1 do manifesto.
Janeiro de 2014
- O Chrome vai parar de carregar ou executar extensões do manifesto versão 1.
Mudanças entre as versões 1 e 2
- Uma Política de Segurança de Conteúdo é definida como
`script-src 'self'; object-src 'self';
por padrão. Isso tem uma variedade de impactos sobre os desenvolvedores, descritos detalhadamente nascontent_security_policy
na documentação do Google Cloud. - Por padrão, os recursos de um pacote não estão mais disponíveis para sites externos (como o
src
de um imagem ou uma tagscript
). Se você quiser que um site seja capaz de carregar um recurso contido no seu você precisará incluí-lo na lista de permissões de forma explícita pelo manifestoweb_accessible_resources
. . Isso é especialmente relevante para extensões que criam uma interface em um site por scripts de conteúdo injetados. - A propriedade
background_page
foi substituída por uma propriedadebackground
que contém Uma propriedadescripts
oupage
. Os detalhes estão disponíveis nas Páginas de eventos na documentação do Google Cloud. Mudanças na ação do navegador:
- A chave
browser_actions
no manifesto e a APIchrome.browserActions
desapareceram. Use obrowser_action
echrome.browserAction
no singular. - A propriedade
icons
debrowser_action
foi removida. Usar a propriedadedefault_icon
ou browserAction.setIcon. - A propriedade
name
debrowser_action
foi removida. Usar a propriedadedefault_title
ou browserAction.setTitle. - A propriedade
popup
debrowser_action
foi removida. Use odefault_popup
propriedade ou browserAction.setPopup. - A propriedade
default_popup
debrowser_action
não pode mais ser especificada como um objeto. Ela precisa ser uma string.
- A chave
Alterações de ação na página:
- A chave
page_actions
no manifesto e a APIchrome.pageActions
desapareceram. Use opage_action
echrome.pageAction
no singular. - A propriedade
icons
depage_action
foi removida. Use a propriedadedefault_icon
ou pageAction.setIcon. - A propriedade
name
depage_action
foi removida. Use a propriedadedefault_title
ou pageAction.setTitle. - A propriedade
popup
depage_action
foi removida. Usar a propriedadedefault_popup
ou pageAction.setPopup. - A propriedade
default_popup
depage_action
não pode mais ser especificada como um objeto. Ele deve ser uma string.
- A chave
A API
chrome.self
foi removida. Em vez disso, use umchrome.extension
.chrome.extension.getTabContentses
(!!!) echrome.extension.getExtensionTabs
sumiram. Usar extension.getViews.Port.tab
sumiu. Use runtime.Port, em vez disso.