Migrar para o Manifesto V3

Um guia para converter extensões do Manifest V2 para o Manifest V3.

Esta seção ajuda você a fazer upgrade de uma extensão do Manifest V2 para o Manifest V3, a versão mais recente da plataforma de extensões do Chrome. O trabalho de migração é dividido em grandes categorias. Para ajudar você a acompanhar seu trabalho, disponibilizamos uma checklist que resume o conteúdo desses documentos. Você pode acessar o conteúdo usando a lista de verificação ou se aprofundar nele. Os dois caminhos terminam com uma extensão atualizada.

  • Atualize o manifesto: o manifest.json precisa ser específico para a V3. As mudanças que podem ser feitas por conta própria são descritas nesta seção. As mudanças no manifesto relacionadas ao código são descritas com as mudanças de código que elas oferecem suporte.
  • Migrar para um service worker: um service worker substitui a página de segundo plano ou de eventos da extensão para garantir que o código em segundo plano fique fora da linha de execução principal, onde pode prejudicar o desempenho. Essa mudança também exige mover o DOM, a janela e determinadas chamadas de API de extensão para documentos invisíveis.
  • Atualizar chamadas de API: algumas chamadas de API precisam ser substituídas por equivalentes mais modernos.
  • Substitua listeners de solicitações da Web de bloqueio: bloquear ou modificar solicitações de rede no Manifest V2 pode prejudicar significativamente o desempenho e exigir acesso excessivo a dados do usuário sensíveis. A API Declarative Net Request permite que as extensões bloqueiem ou modifiquem o conteúdo da Web com menos permissões e sem prejudicar o desempenho.
  • Melhorar a segurança das extensões: o Manifest V3 melhora a segurança das extensões de várias maneiras. Além de uma política de segurança de conteúdo aprimorada, o suporte para código hospedado remotamente e execução de strings arbitrárias foi removido.
  • Publicar sua extensão: esta seção descreve como lançar sua extensão do Manifest V3 em etapas para garantir que ela funcione como esperado testando-a primeiro com um público limitado.

Também temos um conversor de manifesto de extensão. Ele não faz tudo por você, mas ajuda a começar. O README do conversor descreve o que a ferramenta muda.

Manter o conjunto atual de recursos

Para reduzir as chances de problemas ou bugs inesperados, recomendamos não adicionar novas funcionalidades ao migrar. Por exemplo, adicionar um recurso que exige novas permissões pode acionar um aviso de permissão, que vai desativar a extensão até que o usuário aceite as novas permissões. Consulte Práticas recomendadas de aviso de permissão para saber outras maneiras de adicionar permissões sem mostrar um aviso.

O Manifest V3 é compatível com o Chrome 88 ou mais recente. Ao atualizar as chamadas de API, talvez você descubra que os recursos de substituição não foram lançados no Chrome até depois da versão 88. As páginas de referência da API contêm informações de suporte para membros individuais da API. Se você descobrir que precisa de um desses recursos, especifique uma versão mínima do Chrome no arquivo de manifesto.

Novos recursos da plataforma de extensão

Desde o lançamento do Manifest V3, continuamos a adicionar novos recursos, muitos dos quais podem ser usados no Manifest V2 e no Manifest V3. Não é obrigatório usá-los ao converter. No entanto, quando eles substituem recursos mais antigos, é melhor usá-los em vez dos recursos substituídos. Além disso, espere que os recursos substituídos sejam descontinuados e removidos.