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_policyna 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
srcde 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_pagefoi substituída por uma propriedadebackgroundque contém Uma propriedadescriptsoupage. 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_actionsno manifesto e a APIchrome.browserActionsdesapareceram. Use obrowser_actionechrome.browserActionno singular. - A propriedade
iconsdebrowser_actionfoi removida. Usar a propriedadedefault_iconou browserAction.setIcon. - A propriedade
namedebrowser_actionfoi removida. Usar a propriedadedefault_titleou browserAction.setTitle. - A propriedade
popupdebrowser_actionfoi removida. Use odefault_popuppropriedade ou browserAction.setPopup. - A propriedade
default_popupdebrowser_actionnã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_actionsno manifesto e a APIchrome.pageActionsdesapareceram. Use opage_actionechrome.pageActionno singular. - A propriedade
iconsdepage_actionfoi removida. Use a propriedadedefault_iconou pageAction.setIcon. - A propriedade
namedepage_actionfoi removida. Use a propriedadedefault_titleou pageAction.setTitle. - A propriedade
popupdepage_actionfoi removida. Usar a propriedadedefault_popupou pageAction.setPopup. - A propriedade
default_popupdepage_actionnão pode mais ser especificada como um objeto. Ele deve ser uma string.
- A chave
A API
chrome.selffoi removida. Em vez disso, use umchrome.extension.chrome.extension.getTabContentses(!!!) echrome.extension.getExtensionTabssumiram. Usar extension.getViews.Port.tabsumiu. Use runtime.Port, em vez disso.