Confira esta página com frequência para saber sobre mudanças nas extensões do Chrome, na documentação delas ou em políticas relacionadas e outras mudanças. Outros avisos são postados na lista de e-mails de extensões do Chrome. A programação do Chrome lista as datas de lançamento das versões estáveis e Beta.
Chrome 139: remoção das flags --extensions-on-chrome-urls
e --disable-extensions-except
em builds com a marca Chrome
Postado em
A partir do Chrome 139, as flags de linha de comando --extensions-on-chrome-urls e --disable-extensions-except serão removidas nos builds oficiais com a marca Chrome. Saiba mais sobre a lista de e-mails.
Chrome 138: mudanças na página "Nova guia"
Postado em
A partir do Chrome 138, vamos atualizar a interface da página "Nova guia" com um novo rodapé. Saiba mais sobre a lista de e-mails.
Postagem do blog: atualize suas extensões antes das próximas mudanças nos favoritos
Postado em
Estamos fazendo algumas mudanças na sincronização de favoritos que podem afetar sua extensão. Saiba mais na postagem do blog.
Postagem no blog: o que está acontecendo nas extensões do Chrome, junho de 2025
Postado em
Estivemos ocupados com o Google I/O e vários recursos novos no Chrome e na Chrome Web Store. Fique por dentro das novidades sobre as extensões do Chrome em junho de 2025.
Vídeo: Acerte a Marmota no navegador. É possível?
Postado em
Descubra como criar um jogo no navegador no nosso vídeo mais recente.
Vídeo: explicação sobre o novo menu de extensões do Chrome
Postado em
Conheça o novo menu experimental de extensões no nosso vídeo mais recente, Entenda o novo menu de extensões do Chrome .
Vídeo: as extensões são incríveis!
Postado em
Descubra como começar a desenvolver extensões no primeiro episódio de "Extensions are Neat" e como a personalização do Chrome é flexível no segundo episódio.
Chrome 135: nova API userScripts.execute()
Postado em
A partir do Chrome 135, um novo método userScripts.execute()
está disponível na API chrome.userScripts
. Você pode usar isso para injetar um script do usuário uma vez em um momento arbitrário, em vez de precisar registrá-lo permanentemente.
Chrome 132: ver e editar o armazenamento de extensões no DevTools
Postado em
A partir do Chrome 132, é possível ver e editar dados armazenados usando a API chrome.storage
no DevTools. Para saber mais, consulte a nova página Ver e editar o armazenamento de extensões na documentação do DevTools.
Postagem do blog: novo menu "Extensões"
Postado em
No Google I/O 2024, compartilhamos alguns designs iniciais das próximas mudanças no menu de extensões, que dão aos usuários mais controle sobre os sites que as extensões podem acessar. Vamos começar a testar essas mudanças em breve, começando com uma pequena porcentagem de usuários no Canary, e esperamos lançá-las para mais pessoas no futuro.
Também estamos lançando a API chrome.permissions.addHostAccessRequest()
.
Leia mais na nossa postagem do blog.
Chrome 132: nova propriedade congelada na API Tabs
Postado em
A partir do Chrome 132, a propriedade frozen
na API Tabs indica se uma guia foi congelada pelo navegador. As mensagens enviadas para guias congeladas serão enfileiradas e processadas quando a guia for descongelada.
A API Prompt nas extensões do Chrome
Postado em
A API Prompt para extensões já está disponível em um teste de origem. Assim, você pode criar extensões do Chrome que usam o Gemini Nano, nosso modelo de linguagem mais eficiente, no navegador.
Participe do teste de origem da API Prompt, que será executado no Chrome 131 a 136, e compartilhe seu feedback. Sua opinião pode afetar diretamente a forma como criamos e implementamos versões futuras dessa API e de todas as APIs de IA integradas.
Postagem no blog: o que está acontecendo nas extensões do Chrome, outubro de 2024
Publicado em
É hora de mais um resumo das novidades das extensões do Chrome: temos atualizações interessantes sobre integração de IA, novas APIs, eventos e vídeos. Saiba tudo sobre isso em O que está acontecendo na edição de outubro das extensões do Chrome.
Participe do desafio da IA integrada
Publicado em
O Chrome lançou o desafio de IA integrada: crie aplicativos da Web e extensões do Chrome inovadores usando os modelos e APIs de IA integrados do Chrome e concorra a prêmios no valor total de US $65.000.
Inscreva-se e saiba mais no site do desafio de IA integrada. Mal podemos esperar para ver o que você vai criar quando usar a IA na Web!
Chrome 130: action.onUserSettingsChanged
Postado em
A partir do Chrome 130, o evento action.onUserSettingsChanged está disponível. Isso segue uma proposta no grupo da comunidade WebExtensions. Agradecemos à Microsoft pela contribuição ao Chromium.
Chrome 130: StorageArea.getKeys()
Postado em
A partir do Chrome 130, o método getKeys()
está disponível na interface StorageArea usada pela API
chrome.storage
. Isso segue uma proposta no grupo da comunidade WebExtensions.
Chrome 128: correspondência de cabeçalho de resposta na solicitação de rede declarativa
Postado em
A partir do Chrome 128, vamos adicionar suporte para correspondência de cabeçalho de resposta na API Declarative Net Request. Esse era um pedido comum, principalmente para corresponder ao cabeçalho "Content-Type", e criamos uma API adequada com o WebExtensions Community Group.
Atualizamos nossa referência da API para incluir os novos campos responseHeaders
e excludedResponseHeaders
. Você pode usar esses comandos para verificar a existência e o valor de um determinado cabeçalho.
Como parte dessa atualização, adicionamos uma nova seção de avaliação de regras à nossa documentação, que explica como as regras são correspondidas. Para a correspondência de cabeçalho, em particular, as regras só podem ser executadas depois que os cabeçalhos de resposta são recebidos. Portanto, elas são aplicadas em uma etapa posterior às outras regras. Isso significa que a solicitação chega ao servidor antes de ser bloqueada ou redirecionada.
Vídeo: o que são scripts de conteúdo?
Postado em
Saiba mais sobre scripts de conteúdo nas extensões do Chrome, incluindo como registrar CSS e JavaScript para serem executados em uma página específica. Assista ao vídeo completo.
Atualizações importantes na política
Postado em
A equipe da Chrome Web Store publicou uma série de atualizações na página Políticas do programa para desenvolvedores, que foi criada para incentivar o desenvolvimento de produtos de alta qualidade, evitar comportamentos enganosos e garantir o consentimento informado do usuário. Rebecca Soares, gerente de políticas da Chrome Web Store, resumiu todas as atualizações na postagem do blog "Extensões do Chrome: atualizações importantes da política".
Postagem no blog: novidades das extensões do Chrome, julho de 2024
Postado em
Nos últimos três meses, lançamos várias atualizações e recursos significativos, incluindo o início da descontinuação da Manifest V2. Fique por dentro das novidades da edição de julho das extensões do Chrome.
Vídeo: o que é um código hospedado remotamente?
Postado em
Patrick, da equipe de extensões do Chrome, explica o conceito de código hospedado remotamente (RHC, na sigla em inglês) em extensões do Chrome. Saiba por que o RHC não é mais permitido, como detectá-lo e o que fazer se a extensão precisar ser atualizada. Assista ao vídeo completo.
Chrome 127: nova API action.openPopup
Postado em
A partir do Chrome 127, a API action.openPopup
está disponível para todas as extensões. Antes, ele só estava disponível no Canary ou para extensões instaladas por uma política.
Vídeo: entrevista com a equipe de confiabilidade e segurança
Postado em
A equipe de DevRel de extensões do Chrome se reuniu com a equipe de confiança e segurança, que lidera a revisão na Chrome Web Store, para responder às suas perguntas. Assista ao vídeo completo.
Postagem no blog: começa a descontinuação do Manifest V2
Postado em
A partir de 3 de junho nos canais Beta, Dev e Canary do Chrome, se os usuários ainda tiverem extensões do Manifest V2 instaladas, alguns vão começar a ver um banner de aviso ao acessar a página de gerenciamento de extensões (chrome://extensions). Ele informa que algumas extensões (Manifest V2) instaladas em breve não serão mais compatíveis. Leia mais no comunicado oficial
Atualizações na interface do painel lateral
Postado em
Recentemente, fizemos algumas mudanças na interface do painel lateral, incluindo a adição de um ícone de fixação e a remoção do ícone global. Leia mais no PSA e confira nossa documentação e amostras atualizadas.
Postagem no blog: extensões do Chrome no Google I/O 2024
Postado em
Mais um Google I/O chegou ao fim, e nós cobrimos todas as atualizações incríveis das extensões! Acesse o YouTube para assistir o vídeo completo e leia nossa postagem do blog com alguns dos destaques.
Pular a revisão de mudanças qualificadas na solicitação de rede declarativa
Postado em
Agora, a Chrome Web Store permite pular a revisão de mudanças qualificadas ao usar a API Declarative Net Request. Saiba mais sobre a qualificação e como ativar na documentação da Chrome Web Store.
deployPercentage disponível na API Chrome Web Store
Postado em
Recentemente, atualizamos nossa documentação da API Chrome Web Store para incluir informações sobre deployPercentage
, que permite atribuir uma porcentagem de uma implantação de lançamento parcial. Saiba mais sobre deployPercentage
.
Chrome 126: testes de origem em extensões
Postado em
O Chrome 126 apresenta um novo campo manifest.json, trial_tokens
, que permite ativar os testes de origem e de descontinuação em todas as superfícies de extensão. Leia o guia para mais informações.
Postagem no blog: o que está acontecendo nas extensões do Chrome em abril de 2024
Postado em
Publicamos uma nova edição do What's Happening in Chrome Extensions (em inglês). A postagem discute o que a equipe de extensões tem feito nos últimos meses. Isso inclui: reversão de versão na Chrome Web Store, melhor suporte do Firebase Auth e mais lançamentos e atualizações de API.
Reversões de versão no Painel de controle do desenvolvedor da Chrome Web Store
Publicado em
Reverta a extensão para a versão publicada anteriormente na Chrome Web Store sem precisar de outra análise. Leia a postagem do blog e a documentação para mais informações.
Chrome 124: API Advanced documentScan
Postado em
Uma API documentScan
avançada agora está disponível no ChromeOS para descobrir e recuperar imagens de scanners de documentos anexados.
Chrome 124: suporte ao WebGPU em service workers
Postado em
Desde o Chrome 124, os service workers oferecem suporte ao WebGPU. Para um início rápido, confira o exemplo de extensão da WebGPU.
Chrome 123: a API Events agora permite filtrar por blocos CIDR
Postado em
Agora a API Events oferece suporte à filtragem por blocos de roteamento entre domínios sem classe (CIDR). Um bloco CIDR é uma coleção de endereços IP que compartilham um prefixo de rede e o mesmo número de bits. Antes, um desenvolvedor que precisava filtrar vários endereços IP precisava configurar uma regra de filtro para cada um dos endereços no intervalo de bloqueio. Agora, quando uma extensão chama
addListener()
, uma regra transmitida significa que o manipulador de eventos só será chamado
quando a parte do host de um URL for um endereço IP e estiver contida em qualquer um dos blocos
CIDR especificados em uma matriz.
Chrome Web Store: atualizações nos requisitos de tamanho do nome da extensão
Postado em
Na Chrome Web Store, agora há um limite universal de 75 caracteres para o campo "name"
de uma extensão no manifest.json. Antes, o limite para inglês era de 45 caracteres, e não havia restrição para o campo "name"
em outros locais.
A ideia original era permitir diferenças culturais e de idioma que não podem ser capturadas no mesmo número de caracteres. Infelizmente, esse recurso foi usado indevidamente por um pequeno número de desenvolvedores para enviar spam na loja. Por isso, estamos lançando um novo limite universal, que aumentou para 75 caracteres. Esse limite abrange quase todas as extensões na loja hoje. Portanto, provavelmente não será necessário fazer nada como resultado dessa mudança. Se você tentar fazer upload de uma extensão com um nome maior que o limite máximo, o upload será bloqueado pela loja.
Postagem do blog: a jornada da eyeo para testar a suspensão do service worker (em inglês)
Postado em
Nesta postagem da equipe do Extension Engine da eyeo, vamos analisar o problema de testar service workers de extensão. No Manifest V2, as extensões ficavam em uma página em segundo plano, que permanecia ativa durante todo o ciclo de vida da extensão. O Manifesto V3 usa service workers, que, por design, conservam recursos ao serem desligados quando não são necessários. Isso apresenta alguns desafios de teste. Esta postagem explica como a eyeo enfrentou esses desafios.
Chrome 123: os alarmes agora tocam quando o dispositivo está em espera
Postado em
Os alarmes definidos usando a API chrome.alarms
não são mais adiados quando um dispositivo entra em modo de espera. Quando o dispositivo for ativado, o
alarme vai tocar uma vez, não importa quantos alarmes foram perdidos. Por exemplo, se um alarme estiver programado para tocar uma vez por hora e o dispositivo em que ele está instalado ficar inativo das 0h55 às 2h05, apenas o alarme das 2h vai acionar o evento onAlarm
.
Ele vai disparar o mais próximo possível das 2h e imediatamente quando um dispositivo for ativado, caso esteja inativo.
Essa mudança alinha o Chrome ao comportamento acordado no Web Extensions Community Group.
Postagem no blog: Mudanças no comportamento do bfcache com portas de mensagens de extensão
Postado em
O cache de avanço e retorno (bfcache) é uma otimização do navegador que permite voltar e avançar na navegação. A partir do Chrome 123, quando uma página com uma porta de extensão aberta é armazenada no bfcache, o canal de mensagens é fechado, o que significa que nenhuma mensagem será enviada para essa página.
Consequentemente, os scripts de extensão precisam detectar eventos de ciclo de vida, como
onDisconnect
, e configurar uma nova conexão quando a página é restaurada do BFCache.
Para mais informações e exemplos de código, consulte Mudanças no comportamento do BFCache com portas de mensagens de extensão.
Chrome 122: suporte a promessas em APIs assíncronas de extensão
Publicado em
Concluímos a implementação do suporte a promessas para todos os métodos assíncronos da API
de extensão. Isso foi feito para modernizar os métodos de API, melhorando a ergonomia ao lidar com operações assíncronas. Alguns métodos (por exemplo,
desktopCapture.chooseDesktopMedia()
) ainda oferecem suporte apenas a callbacks
porque as interfaces atuais não são compatíveis com Promises. Para garantir a compatibilidade com versões anteriores, os callbacks ainda são aceitos. Se você encontrar uma promessa com falha, registre um bug.
Novas orientações para comunicação em tempo real
Postado em
Acabamos de publicar guias sobre opções em tempo real em extensões. As atualizações em tempo real oferecem um caminho de comunicação instantâneo dos seus servidores diretamente para as instalações de extensão. Além disso, temos novas orientações para usar chrome.gcm, Web Push.
Nova orientação e exemplo: teste de encerramento do service worker
Postado em
Acabamos de publicar um guia sobre como testar o encerramento do service worker com o Puppeteer. A amostra complementar demonstra isso no Puppeteer e no Selenium.
Exemplo atualizado para mensagens nativas
Postado em
Acabamos de publicar uma amostra atualizada para mensagens nativas. Essa API permite que sua extensão inicie e se comunique com outro aplicativo. Agradecemos ao colaborador do GitHub Shubham-Rasal pelo trabalho.
Chrome 121: nova propriedade "lastAccessed" em "tabs.Tab"
Postado em
Uma nova propriedade chamada lastAccessed
foi adicionada ao objeto tabs.Tab
. Essa propriedade indica quando a guia foi ativada pela última vez. O valor retornado está em milissegundos desde a época.
Chrome 121: chaves "background" sem suporte agora emitem um aviso
Postado em
Na mudança do Manifest V2 para o Manifest V3, os filhos da chave de manifesto "background"
foram alterados para acomodar a substituição de scripts em segundo plano por service workers de extensão. Antes, adicionar as chaves do Manifest V2 "scripts"
, "page"
ou "persistent"
à chave "background"
de uma extensão do Manifest V3 gerava um erro. A presença dessas chaves agora aciona um aviso.
Isso está sendo feito para permitir o uso de um único arquivo de manifesto em extensões em vários navegadores, de acordo com uma proposta no grupo da comunidade.
Chrome 120: granularidade mínima de alarmes reduzida para 30 segundos
Postado em
A partir do Chrome 120, as extensões do Manifest V3 podem usar a API chrome.alarms
com atrasos ou períodos de 30 segundos, em vez de exigir valores de 60 segundos ou mais.
Postagem do blog: Retomada da transição para o Manifest V3
Postado em
O cronograma de suporte do Manifest V2 foi atualizado. Confira os detalhes na postagem do blog de novembro de 2023.
Postagem no blog: melhorias no suporte à filtragem de conteúdo no Manifest V3
Postado em
Saiba como melhoramos a API declarativeNetRequest na nossa nova postagem do blog.
Postagem no blog: novidades do Chrome 120 para extensões
Postado em
A versão Beta do Chrome 120 foi lançada recentemente. Para um resumo das atualizações importantes relevantes para desenvolvedores de extensões, leia nossa nova postagem no blog: Novidades do Chrome 120 para extensões. Esta versão também marca um marco importante, já que remove os dois últimos itens (userScripts, manipulador de arquivos no ChromeOS) da lista de lacunas críticas da plataforma.
PSA: Mudança no tratamento de URLs da Política de Privacidade no Painel de controle do desenvolvedor
Postado em
As Políticas de Privacidade no Painel de controle do desenvolvedor agora são adicionadas no nível do item. Isso permite fornecer uma política de privacidade diferente por item. Leia mais sobre essa mudança no nosso PSA.
Vídeo: uma conversa com Matt Frisbie
Postado em
Acabamos de publicar um novo vídeo no canal do YouTube do Chrome para desenvolvedores. Nele, conversamos com o Google Developer Expert e autor Matt Frisbie. Assista aqui.
Novas orientações sobre como testar extensões
Postado em
Acabamos de publicar novas orientações sobre como escrever testes automatizados para extensões, incluindo como escrever testes de unidade e orientações gerais e um tutorial sobre testes completos.
Postagem no blog: o que está acontecendo nas extensões do Chrome – outubro de 2023
Postado em
Acabamos de publicar a segunda edição do What’s Happening in Chrome Extensions (em inglês). A postagem discute o que a equipe de extensão tem feito nos últimos meses, incluindo a resolução de problemas de estabilidade do service worker e o progresso na eliminação de todas as lacunas da plataforma MV3. Também compartilhamos lançamentos futuros de APIs interessantes, como a API Reading List e a API User Scripts.
Aumento dos limites de conjunto de regras estáticas na API Declarative Net Request
Postado em
Seguindo o feedback no grupo da comunidade de extensões da Web, aumentamos significativamente o limite de conjuntos de regras estáticas ativados de 10 para 50. Além disso, vamos aumentar o número total de conjuntos de regras estáticas permitidos de 50 para 100. No momento, esse recurso está disponível no Canary.
Orientação aprimorada sobre código hospedado remotamente
Postado em
Um requisito do Manifest V3 é que as extensões não podem mais usar código hospedado remotamente. Embora isso tenha sido parte do nosso guia de migração desde o início, achamos que valia a pena melhorar a orientação sobre esse problema. Agora, essa página oferece mais informações, descrevendo o que ainda é possível no Manifest V3 e fornecendo mais informações sobre estratégias de upgrade.
Há uma adição relacionada à Solução de problemas de violações da Chrome Web Store. Uma nova seção descreve os motivos comuns para a rejeição de extensões com código hospedado remotamente.
Chrome 118: isUrlFilterCaseSensitive agora tem o valor padrão "false"
Postado em
A partir do Chrome 118, a propriedade isUrlFilterCaseSensitive
na API chrome.declarativeNetRequest
foi alterada para o padrão false
. Se quiser manter o comportamento antigo, defina explicitamente isUrlFilterCaseSensitive
como true
nas regras
declarativeNetRequest.
Isso segue as discussões no Grupo da comunidade de extensões da Web. O Firefox e o Safari já implementaram uma mudança semelhante.
Documentação sobre cookies e APIs de armazenamento da Web
Postado em
Publicamos um novo guia sobre como os cookies e as APIs de armazenamento da Web funcionam nas extensões do Chrome. Ele inclui detalhes sobre as mudanças no particionamento de cookies e armazenamento no Sandbox de privacidade, um projeto em andamento para descontinuar cookies de terceiros com a criação de uma série de novas APIs da plataforma Web, além de detalhes sobre como elas funcionam em extensões.
Exemplos de extensões agora podem ser pesquisados
Postado em
Recentemente, criamos uma página para pesquisar exemplos de extensões do Chrome. A página de pesquisa tem várias opções. Uma caixa de pesquisa permite que você procure por texto em títulos de amostras. É possível restringir a pesquisa por permissão ou API de extensão. Um filtro adicional permite restringir a pesquisa a amostras de API ou funcionais (caso de uso).
Essa nova página de exemplo foi criada por um participante do Google Summer of Code, Xuezhou Dai, que também contribuiu com vários exemplos novos. Leia sobre as experiências deles no verão passado na postagem do nosso blog (em inglês).
Como antes, nossos exemplos de código ainda estão disponíveis no GitHub para clonagem ou bifurcação.
Chrome 118: mudanças na abertura de URLs de esquema de arquivo
Postado em
A partir do Chrome 118, as extensões vão precisar da configuração "Permitir acesso a URLs de arquivo" ativada na página chrome://extensions
para abrir URLs do esquema file:// usando as APIs Tabs ou Windows. Para verificar esse acesso de maneira programática, chame chrome.extension.isAllowedFileSchemeAccess()
. O Firefox já restringe URLs de arquivos, e o Safari é compatível com a mudança. Para mais informações, leia a postagem na lista de e-mails das extensões do Chrome.
Chrome 117: proteção de URL ampliada em navegações de API de extensão
Publicado em
Antes, a navegação acionada por chamadas de API de extensão para tabs.update()
, tabs.create()
e windows.create()
emitia um erro para alguns URLs chrome://. Além disso, era proibido chamar tabs.update()
com um URL JavaScript. Na versão 117, essas proteções em URLs JavaScript foram expandidas para o método tabs.create()
, e vários outros URLs chrome:// foram adicionados à lista de URLs proibidos que se aplica a todos os métodos mencionados anteriormente.
Melhoria nas orientações para a API declarativeNetRequest
Postado em
A API chrome.declarativeNetRequest
bloqueia ou modifica solicitações de rede especificando regras declarativas. Isso permite que as extensões modifiquem as solicitações de rede sem interceptá-las e ver o conteúdo, oferecendo mais privacidade aos usuários. Além disso, é difícil de usar. Por isso, reescrevemos a orientação para que você entenda melhor como implementar conjuntos de regras declarativos. Leia a nova seção no link acima.
Usar sua conta do Google Analytics com a Chrome Web Store
Postado em
A Chrome Web Store oferece integração com o Google Analytics, que permite conferir análises da sua página na Chrome Web Store, além da visualização oferecida no Painel de controle do desenvolvedor. Para mais informações, leia Como usar sua conta do Google Analytics com a Chrome Web Store.
Chrome 115: o DevTools ignora scripts de conteúdo por padrão
Postado em
Por padrão, os scripts de conteúdo injetados agora estão na lista de ignorados do DevTools. Isso não afeta os pontos de interrupção, mas significa que os scripts de conteúdo serão ignorados durante a depuração, e as exceções desses scripts serão ignoradas. Quando um script de conteúdo está aberto na guia Fontes, um banner alerta se essa opção está ativada e oferece a opção de remover o script de conteúdo da lista de ignorados. Para desativar esse comportamento, abra o DevTools, acesse Configurações e depois Lista de ignorados. Para saber mais, consulte Novidades do DevTools.
Beta do Chrome 116: mais do que podemos incluir aqui
Postado em
O Chrome 116 é uma grande versão para extensões. Agora é possível abrir painéis laterais de forma programática. Um novo método permite saber se há um documento ativo fora da tela. Os service workers receberam várias melhorias. Há melhorias suficientes na versão 116 para que escrevamos uma postagem no blog sobre elas. O Chrome 116 está na versão Beta desde 19 de julho.
Postagem do blog: o que está acontecendo com as extensões do Chrome
Postado em
Acabamos de publicar uma visão geral das mudanças e melhorias nas extensões deste ano. A postagem discute os principais recursos novos do ano, incluindo a API do painel lateral, melhorias no service worker e documentos fora da tela. Você também vai conferir o que estamos preparando para este trimestre. O artigo lista muito mais, com links para todos.
Nova orientação e exemplo: saiba como usar o Google Analytics 4 na sua extensão do Chrome
Postado em
Publicamos novas orientações e exemplos sobre o Google Analytics e a geolocalização:
- Uma versão atualizada das nossas orientações do Google Analytics explicando como usar o Google Analytics 4 na sua extensão do Chrome. Também adicionamos uma amostra funcional do Google Analytics 4 ao nosso repositório de amostras do GitHub. Confira
google-analytics.js
para ver o código relevante relacionado ao Google Analytics. - Um novo guia de geolocalização e três exemplos que mostram como acessar a geolocalização em service workers, scripts de conteúdo, pop-ups e painéis laterais.
Chrome 115: especificar vários motivos em chrome.offscreen.createDocument()
Postado em
Agora, é possível especificar vários enums reason
ao chamar chrome.offscreen.createDocument()
. Use isso quando um documento fora da tela for usado para várias finalidades diferentes. O navegador usa os motivos fornecidos para determinar o ciclo de vida do documento fora da tela.
Nova ferramenta: Extension Update Testing Tool
Postado em
Acabamos de lançar a ferramenta de teste de atualização de extensões, um servidor local que pode ser usado para testar atualizações de extensões do Chrome durante o desenvolvimento local, incluindo concessões de permissão. A ferramenta mostra o fluxo de atualização do usuário, incluindo a manutenção de uma extensão desativada até que um usuário conceda as permissões recém-solicitadas. Essa ferramenta é especialmente útil para simular as mudanças de permissão solicitadas ao atualizar uma extensão do Manifest V2 para o Manifest V3.
Chrome 114: nova API Side Panel
Postado em
Apresentamos a nova API Side Panel, uma superfície complementar que permite aos usuários acessar ferramentas junto com o conteúdo que estão navegando. Para saber mais, acesse a referência da API do painel lateral. Além disso, adicionamos muitos exemplos de painel lateral ao nosso repositório de exemplos do GitHub. Também compartilhamos mais informações sobre os painéis laterais na nova postagem do blog Como criar uma experiência do usuário superior com a nova API Side Panel. Nossa política de diretrizes de qualidade e práticas recomendadas também foram revisadas para oferecer mais orientações sobre como criar extensões do painel lateral de alta qualidade.
Seu feedback é importante para criar essa API. Compartilhe suas ideias e solicitações de recursos nos chromium-groups. Fique por dentro das novidades enquanto continuamos aprimorando a API do painel lateral.
Novos exemplos: WASM em extensões
Postado em
Há dois novos exemplos disponíveis que mostram como usar WASM em uma extensão:
- Como usar WASM no Manifest V3 mostra o método geral para incluir um módulo WASM.
- Usar WASM como um módulo no Manifest V3 mostra como usar em um módulo.
Agradecemos especialmente ao colaborador do GitHub @daidr por esses exemplos.
Orientações atualizadas sobre a migração para o Manifesto V3
Postado em
Atualizamos a seção Problemas conhecidos do nosso guia de migração do Manifest V3 com uma lista atualizada de lacunas na plataforma de extensão que pretendemos fechar antes de anunciar um novo cronograma de descontinuação do Manifest V2.
Gravação de áudio e vídeo com o Manifest V3
Postado em
Acabamos de publicar um novo artigo chamado Gravação de áudio e captura de tela, que aborda a gravação de áudio ou vídeo em uma guia, janela ou tela no Manifest V3. Este artigo descreve várias abordagens para gravação que envolvem a API chrome.tabCapture
e a função getDisplayMedia()
.
Chrome 114: aumento da cota de storage.local
Postado em
Aumentamos a cota da propriedade storage.local
para aproximadamente 10 MB. Isso foi concordado no grupo da comunidade de extensões da Web. Isso alinha storage.local
com storage.session
, que foi mudado no Chrome 112.
Novo tutorial e ajuda para service worker de extensão
Postado em
Os service workers são parte integrante das extensões do Chrome. Acabamos de publicar um tutorial explicando os conceitos básicos de registro, depuração e interação com service workers. Também adicionamos um novo guia de service worker explicando conceitos importantes com mais detalhes. Vamos expandir essa seção nos próximos meses.
Mais dicas para resolver problemas de violações da Web Store
Postado em
Para ajudar na publicação na Chrome Web Store, adicionamos novas orientações em duas áreas. As orientações sobre funcionalidade mínima se concentram em oferecer benefícios aos usuários e enriquecer a experiência de navegação deles. As orientações para anúncios de afiliados são sobre informar aos usuários sobre extensões que usam links ou códigos de afiliados para monetização e dar a eles algum controle exigindo uma ação do usuário antes da inclusão.
Novas instruções para o conversor de manifesto de extensão
Postado em
Reescrevemos o README do Extension Manifest Converter para facilitar a compreensão do que você precisa fazer depois de executar a ferramenta. O conversor ajuda a migrar extensões criadas no Manifest V2 para o Manifest V3. O novo README descreve o que a ferramenta faz usando palavras que correspondem às da lista de verificação do guia de migração. O conversor não faz tudo, mas elimina muitas tarefas que não exigem uma decisão humana.
Chrome 113: novos motivos para documentos fora da tela
Postado em
Adicionamos dois novos tipos de motivo à API Offscreen Documents. Use LOCAL_STORAGE
para acessar a API localStorage da plataforma da Web. Use WORKER
ao criar workers da Web.
Google Analytics 4 agora no painel para desenvolvedores
Postado em
O Painel de controle do desenvolvedor da Chrome Web Store agora é compatível com o Google Analytics 4 (GA4). Simplificamos a configuração do Google Analytics e facilitamos o gerenciamento de acesso para editores de grupo. Se você usava o Google Universal Analytics para acompanhar a atividade da página de detalhes da loja, tome as medidas necessárias até 1º de julho de 2023 para continuar recebendo dados sobre ela. Para mais informações, consulte a postagem na lista de e-mails de extensões do Chrome.
A API File Handling chega ao ChromeOS
Postado em
A API File Handler está disponível para testes no ChromeOS Canary nas versões 112 e 113. Ele permite que extensões no ChromeOS abram arquivos com tipos MIME e extensões de arquivo especificados. Para implementar o processamento de arquivos, adicione um conjunto de regras ao manifest.json
. Esse recurso funciona da mesma forma que para os App Web Progressivos. Para mais informações, consulte o artigo em outro lugar deste site.
Para ativar o processamento de arquivos:
- A partir da versão 112, inicie o Chrome usando a flag
--enable-features=ExtensionWebFileHandlers
. - A partir da versão 113, cole
os://flags/#extension-web-file-handlers
na omnibox do Chrome e selecione "Ativado" no menu suspenso.
Esperamos lançar esse recurso no Chrome 115, no fim de junho. Acompanhe esta página para receber atualizações.
Novas amostras: declarações dinâmicas e injeção programática
Postado em
Criamos uma nova amostra para a API chrome.scripting
. Ele demonstra declarações dinâmicas, em que um script de conteúdo é registrado no tempo de execução, e injeção programática, em que um script é executado em uma guia já aberta.
Novas amostras: casos de uso de solicitação de rede declarativa
Postado em
Três novas amostras estão disponíveis para demonstrar a API Declarative Net Request. Cada um demonstra a implementação de um único caso de uso. O primeiro mostra como bloquear cookies. Os outros dois demonstram o bloqueio e o redirecionamento de URLs.
Chrome 112: aumento da cota de storage.session
Postado em
No Chrome 112, a cota da propriedade storage.session
foi aumentada para aproximadamente 10 MB. Isso foi acordado no Grupo da comunidade de extensões da Web: https://github.com/w3c/webextensions/issues/350
Chrome 109: documentos fora da tela
Postado em
Os documentos fora da tela agora estão disponíveis nas extensões do Manifest V3. Eles ajudam na transição de páginas em segundo plano para workers de serviço de extensão, oferecendo suporte a recursos e APIs relacionados ao DOM. Para mais informações, leia a postagem do blog.
Chrome 110: uma extensão está ativada
Postado em
O método chrome.action.isEnabled()
verifica de forma programática se uma extensão foi ativada para uma guia específica. Isso evita que você precise manter o estado ativado das guias. Esse novo método usa um ID de guia e uma referência a um callback e retorna um booleano. Ele tem uma limitação: as guias criadas usando chrome.declarativeContent
sempre retornam "false".
O namespace chrome.action
recebeu recentemente novos métodos para controlar a aparência dos selos de extensão. Para mais informações, consulte Definir cores de selos.
Chrome 110: mudança no tempo limite de inatividade do service worker
Publicado em
Antes, um service worker de extensão era encerrado com frequência aos cinco minutos. Mudamos esse comportamento para se assemelhar mais ao ciclo de vida do service worker na Web. Um service worker de extensão será encerrado após 30 segundos de inatividade ou se uma única atividade levar mais de 5 minutos para ser processada. Para mais informações, consulte Ciclos de vida mais longos do service worker de extensão.
Postagem: Pausa na descontinuação do Manifest V2
Postado em
Os cronogramas de descontinuação do Manifest V2 estão em análise, e os experimentos programados para o início de 2023 vão ser adiados. Para mais informações, leia a atualização na lista de e-mails das extensões do Chrome.
Chrome 110: como definir cores de ícones
Publicado em
O namespace chrome.action
tem dois novos métodos para oferecer mais controle sobre os selos de extensão de aparência. Os métodos setBadgeTextColor()
e getBadgeTextColor()
permitem que uma extensão mude e consulte a cor do texto do selo do ícone da barra de ferramentas. Quando usados com setBadgeBackgroundColor
e getBadgeBackgroundColor
, esses novos métodos permitem aplicar a consistência de design e marca.
Postagem do blog: Mais detalhes sobre a transição para o Manifest V3
Postado em
Esclarecemos o cronograma de descontinuação do Manifest V2. O Cronograma de suporte do Manifest V2 também foi atualizado para refletir essas informações.
Atualização da documentação: problemas conhecidos ao migrar para o Manifesto V3
Postado em
Preparamos uma lista dos principais recursos em desenvolvimento e bugs abertos. O objetivo desta página é ajudar os desenvolvedores a entender melhor o estado atual da plataforma e quais recursos podem ser usados enquanto se preparam para o futuro.
Chrome Web Store: remoção do envio de imagens do "bloco promocional grande"
Postado em
A Chrome Web Store removeu a interface de upload do "bloco promocional grande" da guia "Página de detalhes do item" no painel de controle do desenvolvedor. Essa mudança não afeta a experiência do usuário final, já que essas imagens não eram usadas na interface do usuário do consumidor. Consulte esta postagem sobre extensões do Chromium para mais detalhes.
Chrome 106: permitir que páginas em URLs file:// acessem recursos acessíveis da Web
Postado em
Origens opacas, como iframes em sandbox e importação dinâmica, também podem acessar recursos acessíveis da Web, de acordo com crbug.com/1219825#c11.
Chrome 106: correção de um bug que permitia argumentos finais incorretos em algumas funções assíncronas da API.
Postado em
Antes, o Manifest V3 que chamava APIs assíncronas podia fornecer um argumento final inválido, e o Chrome não apresentava erro. Com essa correção, o Chrome vai mostrar o erro corretamente e informar que não há uma assinatura correspondente. Recomendamos que os desenvolvedores verifiquem as extensões no Canary para identificar erros caso estejam usando acidentalmente uma assinatura incorreta para uma chamada de API que será interrompida por essa correção de bug.
Postagem no blog: reformulação da análise da Chrome Web Store
Postado em
A Chrome Web Store tem uma experiência de análise de itens reformulada para o Painel de controle do desenvolvedor da Chrome Web Store. O novo painel é mais fácil de entender rapidamente e consolida as informações mais úteis na frente. Leia a postagem do blog para mais informações.
Chrome 105: promessas para a API Identity
Postado em
As funções na API Identity agora
aceitam chamadas baseadas em promessas. Isso vem com uma pequena mudança na superfície para
identity.getAuthToken()
, em que o
conjunto de retorno assíncrono definido como uma chamada baseada em promessa terá "token" e "grantedScopes" como parâmetros
em um único objeto (em vez de a versão de callback recebê-los como argumentos separados para o
callback).
Chrome 104: nova API de favicons para o Manifest V3
Postado em
As extensões do Manifesto V3 agora podem acessar favicons usando um novo padrão de URL: chrome-extension://<id>/_favicon/
, em que chrome://favicons
da plataforma Manifest V2. Consulte a documentação da API Favicon para mais informações.
Atualização da documentação: divulgação de desenvolvedor negociante/não negociante
Postado em
Adicionamos a identificação de desenvolvedor comerciante/não comerciante, que informa aos desenvolvedores como declarar com precisão o status de comerciante/não comerciante.
Chrome 103: o Wasm no Manifest V3 exige wasm-unsafe-eval
Postado em
O Chrome não concede mais script-src: wasm-unsafe-eval
às extensões por padrão. As extensões que usam
WebAssembly agora precisam adicionar explicitamente essa diretiva e valor a extension_pages
nas declarações
content_security_policy
.
Chrome 103: as mudanças nos atalhos do MV3 entram em vigor imediatamente
Postado em
Ao mudar o atalho de teclado de uma extensão do Manifesto V3 em chrome://extensions/shortcuts
,
as atualizações são aplicadas imediatamente. Antes, era necessário recarregar a extensão para que a mudança entrasse em vigor.
Chrome 102: scripts de conteúdo dinâmico no mundo principal
Postado em
Agora, os scripts de conteúdo registrados dinamicamente podem especificar o
mundo em que os recursos serão injetados. Consulte
scripting.registerContentScripts()
para mais detalhes.
Chrome 102: novo campo de manifesto "optional_host_permissions"
Publicado em
As extensões do Manifesto V3 agora podem especificar a chave optional_host_permissions
em manifest.json. Isso permite que as extensões do Manifest V3 declarem padrões de correspondência opcionais para hosts, assim como as extensões do Manifest V2 podiam fazer usando a chave optional_permissions
.
Chrome 102: propriedade injectImmediately em scripting.executeScript()
Publicado em
chrome.scripting.executeScript()
agora aceita uma propriedade injectImmediately
opcional no argumento injection
. Se estiver presente e definido como verdadeiro, o script será injetado no destino assim que
possível, em vez de esperar por document_idle
. Isso não garante que o script será injetado antes do carregamento da página, já que ela continua sendo carregada enquanto a chamada de API está sendo feita.
Chrome 102: compatibilidade da API Omnibox no Manifest V3
Postado em
A API Omnibox agora pode ser usada em extensões baseadas em service workers. Antes, alguns métodos dessa API geravam erros na invocação devido a dependências internas de recursos do DOM.
Chrome 102: wasm-unsafe-eval permitido na CSP do Manifest V3
Publicado em
As extensões do Manifest V3 agora podem incluir wasm-unsafe-eval
nas declarações de content_security_policy
. Essa mudança permite que as extensões do Manifest V3 usem o WebAssembly.
Chrome 102: nova API storage.session
Publicado em
As extensões do Manifest V3 agora podem usar o armazenamento na memória storage.session .
Atualização da documentação: descoberta de itens da Chrome Web Store
Publicado em
A descoberta na Chrome Web Store oferece uma visão geral de como os usuários encontram itens na loja e como nossos editores selecionam os itens para destacar.
Chrome 101: melhorias nas condições de domínio declarativeNetRequest
Postado em
As condições de regra declarativeNetRequest foram
atualizadas para permitir que as extensões segmentem melhor as solicitações com base nos domínios "request" e
"initiator" da solicitação. As propriedades de condição relevantes são initiatorDomains
, excludedInitiatorDomains
, requestDomains
e excludedRequestDomains
. Consulte também esta
thread do chromium-extensions.
Chrome 100: problema resolvido com scripting.executeScript() em guias recém-criadas
Correção de um problema antigo em que a chamada de scripting.executeScript()
em uma guia ou
janela recém-criada podia falhar.
Chrome 100: a porta de mensagens nativas mantém o service worker ativo
Postado em
A conexão com um host de mensagens nativas usando chrome.runtime.connectNative()
em um service worker
de extensão mantém o service worker ativo enquanto a porta estiver aberta.
Chrome 100: omnibox.setDefaultSuggestion() é compatível com promessas e callbacks
Postado em
O método
omnibox.setDefaultSuggestion()
agora retorna uma promessa ou aceita um callback para permitir que os desenvolvedores determinem quando a
sugestão foi definida corretamente.
Chrome 100: suporte a i18n.getMessage() em service workers de extensão
Publicado em
A API chrome.i18n.getMessage()
agora é compatível com contextos de service worker de extensão.
Chrome 99: match_origin_as_fallback no Canary
Publicado em
Agora, os scripts de conteúdo podem especificar a chave match_origin_as_fallback
para injetar em frames relacionados a um frame correspondente, incluindo frames com URLs about:
, data:
, blob:
e filesystem:
. Consulte a documentação sobre scripts de conteúdo para mais detalhes.
Chrome 99: suporte a service worker de extensão para esquemas file: no Canary
Publicado em
As extensões Manifest V2 e Manifest V3 baseadas em service worker agora podem usar a API Fetch para solicitar URLs do esquema
file:
. O acesso a URLs do esquema file:
ainda exige que o usuário ative a opção "Permitir acesso
a URLs de arquivo" para a extensão na página chrome://extensions
.
Chrome 99: suporte a promessas para APIs de mensagens no Canary
Postado em
O suporte a promessas foi adicionado a
tabs.sendMessage
,
runtime.sendMessage
e
runtime.sendNativeMessage
para
extensões criadas para o Manifest V3.
Atualização da documentação: documentação de revisão da Chrome Web Store
Postado em
Adicionamos uma nova página de referência que oferece uma visão geral do processo de revisão da Chrome Web Store e explica como é feita a aplicação da política do programa para desenvolvedores.
Chrome 98: scripting.executeScript() e scripting.insertCSS() aceitam vários arquivos
Postado em
Os métodos executeScript()
e insertCSS()
da API Scripting agora aceitam
vários arquivos. Antes, esses métodos exigiam uma matriz com uma única entrada de arquivo.
Atualização da documentação: confira as atualizações de solução de problemas de violação
Postado em
A página Solução de problemas de violações da Chrome Web Store foi atualizada para oferecer aos desenvolvedores orientações mais detalhadas sobre os motivos comuns de rejeição.
Chrome 96: suporte expandido para mais 27 APIs
Postado em
Esta versão contém muito mais atualizações de promessas do que qualquer versão anterior. As atualizações incluem APIs de extensões gerais e específicas do ChromeOS. Abra as seções a seguir para mais detalhes.
APIs Extensions
Várias APIs agora são compatíveis com promessas no Manifest V3.
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
Além disso, as APIs que usam o protótipo ChromeSetting
agora também são compatíveis com promessas. As APIs a seguir são afetadas por essa mudança.
APIs do ChromeOS
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96: scripts de conteúdo dinâmico
Postado em
A API chrome.scripting
agora oferece suporte a
registro,
atualização,
cancelamento do registro e recebimento de uma lista de scripts de conteúdo
durante a execução. Antes, os scripts de conteúdo só podiam ser declarados estaticamente no
manifest.json de uma extensão ou injetados programaticamente em tempo de execução com
chrome.scripting.executeScript()
.
Atualização da documentação: cronograma de suporte do Manifest V2
Postado em
O cronograma de transição do Manifest V2 para o V3 foi anunciado nesta postagem do blog, e uma página de cronograma mais detalhada foi publicada.
Chrome 96: permissão declarativeNetRequestWithHostAccess
Postado em
A nova permissão declarativeNetRequestWithHostAccess
permite que as extensões usem a
API chrome.declarativeNetRequest
em sites para os quais a
extensão tem permissões de host. Isso também permite que as extensões Manifest V2 atuais que usam
webRequest
, webRequestBlocking
e permissão de host específica do site migrem para a
API chrome.declarativeNetRequest
sem
exigir que o usuário aprove novas permissões.
Chrome 95: injetar scripts diretamente nas páginas
Postado em
O método executeScript()
da API chrome.scripting
agora pode injetar scripts diretamente no mundo principal de uma página. Antes, as extensões só podiam injetar diretamente
no mundo isolado da extensão. Para mais informações sobre mundos isolados, consulte a documentação sobre scripts de conteúdo.
Chrome 95: suporte a promessas para a API Storage
Postado em
Os métodos na versão do Manifest V3 da API chrome.storage
agora retornam promessas.
Atualização da política: aplicação da verificação em duas etapas
Postado em
A postagem do blog sobre a atualização da política publicada em 29 de junho de 2021 foi atualizada para corrigir o cronograma de implantação da verificação em duas etapas.
Chrome 94: mudanças no conjunto de regras estáticas de solicitação de rede declarativa
Postado em
Agora, o chrome.declarativeNetRequest
permite especificar até 50 conjuntos de regras estáticas (MAX_NUMBER_OF_STATIC_RULESETS) e ativar até 10 conjuntos de regras (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS) por vez.
Chrome 93: suporte ao isolamento de origem cruzada
Postado em
As extensões Manifest V2 e Manifest V3 agora podem ativar o isolamento entre origens. Esse recurso limita quais recursos de origem cruzada podem carregar as páginas de uma extensão e permite o uso de recursos de plataforma da Web de baixo nível, como
SharedArrayBuffer
. A ativação será obrigatória a partir do Chrome 95.
Atualização das políticas do programa para desenvolvedores
Postado em
As políticas do programa para desenvolvedores da Chrome Web Store foram atualizadas com esclarecimentos sobre as políticas de táticas de instalação enganosas, spam e conteúdo repetitivo. Essa atualização também inclui um novo requisito de verificação em duas etapas para publicar na Chrome Web Store. Leia a postagem do blog para mais informações.
Postagem no blog: ações de extensão no Manifest V3
Postado em
As extensões do Chrome tinham APIs chrome.browserAction
e chrome.pageActions
há anos, mas o Manifest
V3 substituiu ambas por uma API chrome.actions
genérica. Esta postagem explora o histórico dessas APIs e o que mudou no Manifesto V3. Leia a postagem.
Postagem do blog: apresentando chrome.scripting
Postado em
A API chrome.scripting
é uma nova API do Manifesto V3 focada em, bem, programação. Nesta postagem, vamos analisar as motivações dessa mudança e conferir mais de perto os novos recursos. Leia a postagem.
Chrome 92: suporte a service worker de módulo
Postado em
O Chrome agora oferece suporte a módulos JavaScript em service workers. Para especificar um módulo no manifesto:
"background": {
"service_worker": "script.js",
"type": "module"
}
Isso carrega o script do worker como um módulo ES, permitindo que você use a palavra-chave import
no
script do worker para importar outros módulos.
Chrome 91: chrome.action.getUserSettings()
Postado em
O novo método
chrome.action.getUserSettings()
permite que as extensões determinem se o usuário fixou a extensão na barra de ferramentas principal.
Chrome 90: chrome.scripting.removeCSS()
Postado em
O novo método chrome.scripting.removeCSS()
permite que as extensões removam o CSS inserido anteriormente via
chrome.scripting.insertCSS()
. Ele
substitui chrome.tabs.removeCSS()
.
Chrome 90: retorno de promessas de scripting.executeScript()
Publicado em
O chrome.scripting.executeScript()
agora
aceita o retorno de promessas. Se o valor resultante da execução do script for uma promessa, o Chrome
vai aguardar a resolução da promessa e retornar o valor resultante.
Chrome 90: os resultados de chrome.scripting.executeScript() incluem frameId
Postado em
Os resultados retornados de
chrome.scripting.executeScript()
agora incluem o frameId.
A propriedade frameId
indica o frame de origem do resultado, permitindo que as extensões associem facilmente os resultados aos frames individuais ao injetar em vários frames.
Chrome 89: nova API para gerenciar grupos de guias
Postado em
A nova API chrome.tabGroups
e os novos recursos em
chrome.tabs
permitem que as extensões leiam e manipulem grupos de guias.
Exige o Manifesto V3.
Chrome 89: permissões personalizáveis para recursos acessíveis da Web
Postado em
As definições de recursos acessíveis pela Web no Manifest V3 mudaram para permitir que as extensões restrinjam o acesso a recursos com base na origem do solicitante ou no ID da extensão.
Postagem do blog: Extension Manifest Converter (em inglês)
Postado em
A equipe de extensões do Chrome lançou o "Extension Manifest Converter", uma ferramenta em Python que automatiza alguns aspectos mecânicos da conversão de extensões para o Manifest V3. Confira a postagem do blog de anúncio e baixe no GitHub.
Chrome 88: disponibilidade geral do Manifest V3
Postado em
O Manifest V3 é uma grande atualização da plataforma de extensões. Consulte Visão geral do Manifest V3 para um resumo dos recursos novos e alterados. As extensões podem continuar usando o Manifest V2 por enquanto, mas isso será descontinuado em breve. Recomendamos fortemente que você use o Manifesto V3 para todas as novas extensões e comece a migrar as extensões atuais para o Manifesto V3 o quanto antes.