chrome.types

refresh date: 2026-09-25 robots: noindex

Descrição

A API chrome.types contém declarações de tipo para o Chrome.

Configurações do Chrome

O protótipo ChromeSetting fornece um conjunto comum de funções (get(), set() e clear()), além de um editor de eventos (onChange) para configurações do navegador Chrome. Os exemplos de configurações de proxy demonstram como essas funções devem ser usadas.

Escopo e ciclo de vida

O Chrome distingue três escopos diferentes de configurações do navegador:

regular
As configurações definidas no escopo regular se aplicam a janelas normais do navegador e são herdadas por janelas anônimas, a menos que sejam substituídas. Essas configurações são armazenadas em disco e permanecem no lugar até serem limpas pela extensão governante ou até que ela seja desativada ou desinstalada.
incognito_persistent
As configurações definidas no escopo incognito_persistent se aplicam apenas às janelas anônimas. Para eles, as configurações de regular são substituídas. Essas configurações são armazenadas em disco e permanecem no lugar até serem limpas pela extensão governante ou até que ela seja desativada ou desinstalada.
incognito_session_only
As configurações definidas no escopo incognito_session_only se aplicam apenas às janelas anônimas. Para eles, as configurações de regular e incognito_persistent são substituídas. Essas configurações não são armazenadas em disco e são apagadas quando a última janela anônima é fechada. Elas só podem ser definidas quando pelo menos uma janela anônima está aberta.

Precedência

O Chrome gerencia as configurações em diferentes camadas. A lista a seguir descreve as camadas que podem influenciar as configurações efetivas, em ordem crescente de precedência.

  1. Configurações do sistema fornecidas pelo sistema operacional
  2. Parâmetros de linha de comando
  3. Configurações fornecidas por extensões
  4. Políticas

Como a lista sugere, as políticas podem substituir as mudanças especificadas com sua extensão. Você pode usar a função get() para determinar se a extensão é capaz de fornecer uma configuração ou se essa configuração seria substituída.

Como discutido acima, o Chrome permite usar configurações diferentes para janelas normais e de navegação anônima. O exemplo a seguir ilustra o comportamento. Suponha que nenhuma política substitua as configurações e que uma extensão possa definir configurações para janelas normais (R) e para janelas anônimas (I).

  • Se apenas (R) estiver definido, essas configurações serão válidas para janelas normais e anônimas.
  • Se apenas (I) estiver definido, essas configurações serão válidas apenas para janelas anônimas. As janelas comuns usam as configurações determinadas pelas camadas inferiores (opções de linha de comando e configurações do sistema).
  • Se (R) e (I) estiverem definidos, as configurações respectivas serão usadas para janelas normais e anônimas.

Se duas ou mais extensões quiserem definir a mesma configuração com valores diferentes, a extensão instalada mais recentemente terá precedência sobre as outras. Se a extensão instalada mais recentemente definir apenas (I), as configurações das janelas regulares poderão ser definidas por extensões instaladas anteriormente.

O valor efetivo de uma configuração é aquele que resulta da consideração das regras de precedência. Usado pelo Chrome.

Tipos

ChromeSetting

Uma interface que permite o acesso a uma configuração do navegador Chrome. Consulte accessibilityFeatures para ver um exemplo.

Propriedades

  • onChange

    Event<functionvoidvoid>

    Disparado depois que a configuração muda.

    A função onChange.addListener tem esta aparência:

    (callback: function) => {...}

    • callback

      função

      O parâmetro callback tem esta aparência:

      (details: object) => void

      • detalhes

        objeto

        • incognitoSpecific

          booleano opcional

          Se o valor que mudou é específico da sessão anônima. Essa propriedade só estará presente se o usuário tiver ativado a extensão no modo de navegação anônima.

        • levelOfControl

          O nível de controle da configuração.

        • valor

          T

          O valor da configuração após a mudança.

  • limpar

    void

    Promessa

    Limpa a configuração, restaurando qualquer valor padrão.

    A função clear tem esta aparência:

    (details: object, callback?: function) => {...}

    • detalhes

      objeto

      Qual configuração limpar.

    • callback

      função optional

      O parâmetro callback tem esta aparência:

      () => void

    • retorna

      Promessa<void>

      Chrome 96 ou mais recente

      Chamado na conclusão da operação de limpeza.

      As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

  • get

    void

    Promessa

    Recebe o valor de uma configuração.

    A função get tem esta aparência:

    (details: object, callback?: function) => {...}

    • detalhes

      objeto

      Qual configuração considerar.

      • navegação anônima

        booleano opcional

        Se deve retornar o valor que se aplica à sessão de navegação anônima (padrão: "false").

    • callback

      função optional

      O parâmetro callback tem esta aparência:

      (details: object) => void

      • detalhes

        objeto

        Detalhes do valor vigente.

        • incognitoSpecific

          booleano opcional

          Se o valor efetivo é específico da sessão anônima. Essa propriedade só vai estar presente se a propriedade incognito no parâmetro details de get() for verdadeira.

        • levelOfControl

          O nível de controle da configuração.

        • valor

          T

          O valor da configuração.

    • retorna

      Promise<object>

      Chrome 96 ou mais recente

      As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

  • set

    void

    Promessa

    Define o valor de uma configuração.

    A função set tem esta aparência:

    (details: object, callback?: function) => {...}

    • detalhes

      objeto

      Qual configuração mudar.

      • escopo

        Onde definir a configuração (padrão: regular).

      • valor

        T

        O valor da configuração. Cada configuração tem um tipo de valor específico, que é descrito junto com ela. Uma extensão não pode definir um valor de um tipo diferente.

    • callback

      função optional

      O parâmetro callback tem esta aparência:

      () => void

    • retorna

      Promessa<void>

      Chrome 96 ou mais recente

      Chamado na conclusão da operação de configuração.

      As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

ChromeSettingScope

Chrome 44 ou mais recente

O escopo do ChromeSetting. Uma

  • regular: configuração do perfil normal, que é herdada pelo perfil anônimo se não for substituída em outro lugar.
  • regular\_only: configuração apenas para o perfil normal (não herdada pelo perfil anônimo).
  • incognito\_persistent: configuração do perfil anônimo que sobrevive às reinicializações do navegador (substitui as preferências regulares).
  • incognito\_session\_only: configuração do perfil de navegação anônima que só pode ser definida durante uma sessão de navegação anônima e é excluída quando ela termina (substitui as preferências regulares e de navegação anônima persistente).

Enumeração

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 ou mais recente

Uma

  • not\_controllable: não pode ser controlado por nenhuma extensão
  • controlled\_by\_other\_extensions: controlado por extensões com maior precedência
  • controllable\_by\_this\_extension: pode ser controlado por esta extensão
  • controlled\_by\_this\_extension: controlado por esta extensão

Enumeração

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"