chrome.types

Descrição

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

Configurações do Chrome

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

Escopo e ciclo de vida

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

regular
As configurações definidas no escopo regular se aplicam às janelas normais do navegador e são herdadas pela navegação anônima as janelas, se elas não forem substituídas. Essas configurações são armazenadas no disco e permanecem em vigor até elas são apagadas pela extensão governante ou a extensão governante foi desativada ou desinstalada.
incognito_persistent
As configurações definidas no escopo incognito_persistent se aplicam apenas a janelas anônimas. Para essas, eles substituir as configurações de regular. Essas configurações são armazenadas no disco e permanecem em vigor até serem limpos pela extensão governante ou se a extensão governante foi desativada ou desinstalada.
incognito_session_only
As configurações definidas no escopo incognito_session_only se aplicam apenas a janelas anônimas. Para essas, eles substituir as configurações de regular e incognito_persistent. Essas configurações não são armazenadas no disco e são apagados quando a última janela anônima é fechada. Elas só podem ser definidas quando uma janela anônima estiver aberta.

Precedência

O Chrome gerencia as configurações em diferentes camadas. A lista a seguir descreve as camadas que podem influenciam 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 indica, as políticas podem anular todas as alterações 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 será substituída.

Como discutido anteriormente, o Chrome permite o uso de configurações diferentes para janelas normais e navegação anônima janelas. O exemplo a seguir ilustra o comportamento. Suponha que nenhuma política substitua e que uma extensão possa definir configurações para janelas normais (R) e configurações 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 só serão válidas para janelas anônimas. Janelas regulares use 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 respectivas configurações serão usadas no modo normal e de navegação anônima janelas.

Se duas ou mais extensões quiserem definir a mesma configuração com valores diferentes, isso significa que a extensão foi instalada mais recentemente tem precedência sobre as outras extensões. Se a extensão instalada mais recentemente define somente (I), as configurações de janelas normais podem ser definidas por configurações extensões.

O valor efetivo de uma configuração é o resultado da consideração das regras de precedência. Ela é 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

    Evento<functionvoidvoid>

    Disparado após a mudança da configuração.

    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

          Indica se o valor alterado é específico da sessão de navegação anônima. Essa propriedade estará presente apenas 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 alteração.

  • 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 opcional

      O parâmetro callback tem esta aparência:

      () => void

    • retorna

      Promessa<void>

      Chrome 96 ou versão mais recente

      O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

  • 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

        Define se o valor que se aplica à sessão de navegação anônima será retornado (padrão é falso).

    • callback

      função opcional

      O parâmetro callback tem esta aparência:

      (details: object) => void

      • detalhes

        objeto

        Detalhes do valor vigente no momento.

        • incognitoSpecific

          booleano opcional

          Indica se o valor efetivo é específico da sessão de navegação anônima. Essa propriedade vai estar presente somente 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&lt;object&gt;

      Chrome 96 ou versão mais recente

      O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

  • 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: normal).

      • valor

        T

        O valor da configuração. Observe que cada configuração tem um tipo de valor específico, que é descrito em conjunto com a configuração. Uma extensão não deve definir um valor de tipo diferente.

    • callback

      função opcional

      O parâmetro callback tem esta aparência:

      () => void

    • retorna

      Promessa<void>

      Chrome 96 ou versão mais recente

      O Manifesto V3 e versões mais recentes oferecem suporte a promessas, mas callbacks são fornecidos para a compatibilidade com versões anteriores. Não é possível usar ambos na mesma chamada de função. A promessa é resolvida com o mesmo tipo passado ao retorno de chamada.

ChromeSettingScope

Chrome 44 ou superior

O escopo do ChromeSetting. Uma

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

Enumeração

"normal"

"regular_only"

"anonymous_persistent"

"anonymous_session_only"

LevelOfControl

Chrome 44 ou superior

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"

&quot;controlled_by_other_extensions&quot;

&quot;controllable_by_this_extension&quot;

&quot;controlled_by_this_extension&quot;