chrome.types

Description

L'API chrome.types contient des déclarations de type pour Chrome.

Paramètres de Google Chrome

Le type ChromeSetting fournit un ensemble commun de fonctions (get(), set() et clear()) ainsi qu'un éditeur d'événements (onChange) pour les paramètres du navigateur Chrome. Les exemples de paramètres de proxy montrent comment ces fonctions sont destinées à être utilisées.

Champ d'application et cycle de vie

Chrome distingue trois types de paramètres du navigateur:

regular
Les paramètres définis dans le champ d'application regular s'appliquent aux fenêtres de navigateur standards et sont hérités par les fenêtres de navigation privée s'ils ne sont pas écrasés. Ces paramètres sont stockés sur le disque et le restent jusqu'à ce qu'ils soient effacés par l'extension applicable, ou que l'extension applicable soit désactivée ou désinstallée.
incognito_persistent
Les paramètres définis dans le champ d'application incognito_persistent ne s'appliquent qu'aux fenêtres de navigation privée. Dans ce cas, elles remplacent les paramètres regular. Ces paramètres sont stockés sur le disque et restent en place jusqu'à ce qu'ils soient effacés par l'extension applicable, ou jusqu'à ce que cette dernière soit désactivée ou désinstallée.
incognito_session_only
Les paramètres définis dans le champ d'application incognito_session_only ne s'appliquent qu'aux fenêtres de navigation privée. Dans ce cas, ils remplacent les paramètres regular et incognito_persistent. Ces paramètres ne sont pas stockés sur le disque et sont effacés lorsque la dernière fenêtre de navigation privée est fermée. Elles ne peuvent être configurées que lorsqu'au moins une fenêtre de navigation privée est ouverte.

Priorité

Chrome gère les paramètres sur différentes couches. La liste suivante décrit les couches pouvant influencer les paramètres effectifs, par ordre de priorité croissant.

  1. Paramètres système fournis par le système d'exploitation
  2. Paramètres de ligne de commande
  3. Paramètres fournis par les extensions
  4. Règles

Comme l'indique la liste, les règles peuvent annuler les modifications que vous spécifiez avec votre extension. Vous pouvez utiliser la fonction get() pour déterminer si votre extension peut fournir un paramètre ou si ce paramètre doit être ignoré.

Comme indiqué précédemment, Chrome permet d'utiliser des paramètres différents pour les fenêtres standards et les fenêtres de navigation privée. L'exemple suivant illustre ce comportement. Supposons qu'aucune règle ne remplace les paramètres et qu'une extension puisse définir les paramètres des fenêtres standards (R) et ceux des fenêtres de navigation privée (I).

  • Si seul (R) est défini, ces paramètres s'appliquent aux fenêtres de navigation standard et de navigation privée.
  • Si seule la réponse (I) est définie, ces paramètres s'appliquent uniquement aux fenêtres de navigation privée. Les fenêtres standards utilisent les paramètres déterminés par les couches inférieures (options de ligne de commande et paramètres système).
  • Si (R) et (I) sont tous les deux définis, les paramètres respectifs sont utilisés pour les fenêtres de navigation standard et de navigation privée.

Si deux extensions ou plus souhaitent définir le même paramètre sur des valeurs différentes, la dernière extension installée est prioritaire sur les autres extensions. Si la dernière extension installée ne définit que (I), les paramètres des fenêtres standards peuvent être définis par les extensions précédemment installées.

La valeur effective d'un paramètre est celle qui résulte de la prise en compte des règles de priorité. Il est utilisé par Chrome.

Types

ChromeSetting

Interface permettant d'accéder à un paramètre du navigateur Chrome. Consultez accessibilityFeatures pour obtenir un exemple.

Propriétés

  • onChange

    Événement<functionvoidvoid>

    Déclenché après la modification du paramètre

    La fonction onChange.addListener se présente comme suit :

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

    • rappel

      function

      Le paramètre callback se présente comme suit :

      (details: object)=>void

      • détails

        objet

        • incognitoSpecific

          Booléen facultatif

          Indique si la valeur modifiée est spécifique à la session de navigation privée. Cette propriété est visible uniquement si l'utilisateur a activé l'extension en mode navigation privée.

        • levelOfControl

          Niveau de contrôle du paramètre.

        • valeur

          T

          Valeur du paramètre après la modification.

  • effacer

    void

    Promesse

    Efface le paramètre et rétablit la valeur par défaut.

    La fonction clear se présente comme suit :

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

    • détails

      objet

      Paramètre à effacer.

      • champ d'application

        ChromeSettingScope facultatif

        Où effacer ce paramètre (par défaut: standard) ?

    • rappel

      fonction facultative

      Le paramètre callback se présente comme suit :

      ()=>void

    • retours

      Promise<void>

      Chrome 96 et versions ultérieures

      Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

  • get

    void

    Promesse

    Récupère la valeur d'un paramètre.

    La fonction get se présente comme suit :

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

    • détails

      objet

      Paramètre à prendre en compte.

      • navigation privée

        Booléen facultatif

        Indique si la valeur qui s'applique à la session de navigation privée doit être renvoyée (valeur par défaut, "false").

    • rappel

      fonction facultative

      Le paramètre callback se présente comme suit :

      (details: object)=>void

      • détails

        objet

        Détails de la valeur actuellement en vigueur.

        • incognitoSpecific

          Booléen facultatif

          Indique si la valeur effective est spécifique à la session de navigation privée. Cette propriété est présente uniquement si la propriété incognito du paramètre details de get() est "true".

        • levelOfControl

          Niveau de contrôle du paramètre.

        • valeur

          T

          Valeur du paramètre.

    • retours

      Promise<object>

      Chrome 96 et versions ultérieures

      Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

  • set

    void

    Promesse

    Définit la valeur d'un paramètre.

    La fonction set se présente comme suit :

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

    • détails

      objet

      Paramètre à modifier.

      • champ d'application

        ChromeSettingScope facultatif

        Où définir le paramètre (par défaut: standard).

      • valeur

        T

        Valeur du paramètre. Notez que chaque paramètre est associé à un type de valeur spécifique, décrit avec le paramètre. Une extension ne doit pas définir une valeur d'un type différent.

    • rappel

      fonction facultative

      Le paramètre callback se présente comme suit :

      ()=>void

    • retours

      Promise<void>

      Chrome 96 et versions ultérieures

      Les promesses sont compatibles avec Manifest V3 et les versions ultérieures, mais des rappels sont fournis pour assurer la rétrocompatibilité. Vous ne pouvez pas utiliser les deux dans le même appel de fonction. La promesse est résolue avec le même type que celui transmis au rappel.

ChromeSettingScope

Chrome 44 ou version ultérieure

Champ d'application du paramètre ChromeSetting. Une

  • regular: paramètre du profil standard (hérité par le profil de navigation privée s'il n'est pas remplacé ailleurs).
  • regular\_only: paramètre du profil standard uniquement (pas hérité par le profil de navigation privée)
  • incognito\_persistent: paramètre du profil de navigation privée qui survit au redémarrage du navigateur (ignorer les préférences standards)
  • incognito\_session\_only: paramètre du profil de navigation privée qui ne peut être défini qu'au cours d'une session de navigation privée et qui est supprimé à la fin de la session de navigation privée. Il remplace les préférences standards et persistantes de navigation privée.

Enum

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 ou version ultérieure

Une

  • not\_controllable: ne peut être contrôlé par aucune extension
  • controlled\_by\_other\_extensions: contrôlée par des extensions de priorité plus élevée.
  • controllable\_by\_this\_extension: peut être contrôlé par cette extension
  • controlled\_by\_this\_extension: contrôlé par cette extension

Enum

"not_controllable"

"controllable_by_this_extension"