chrome.types

説明

chrome.types API には Chrome のタイプ宣言が含まれています。

Chromeの設定

ChromeSetting タイプには、一般的な関数セット(get()set()clear())と、Chrome ブラウザの設定用のイベント パブリッシャー(onChange)が用意されています。プロキシ設定の例では、これらの関数がどのように使用されるかを示しています。

スコープとライフサイクル

Chrome では、ブラウザ設定に次の 3 つのスコープが区別されます。

regular
regular スコープで設定された設定は、通常のブラウザ ウィンドウに適用され、上書きされなければシークレット ウィンドウに継承されます。これらの設定はディスクに保存され、管理拡張機能によってクリアされるか、管理拡張機能を無効にするかアンインストールされるまで維持されます。
incognito_persistent
incognito_persistent スコープに設定された設定は、シークレット ウィンドウにのみ適用されます。これらについては、regular 設定をオーバーライドします。これらの設定はディスクに保存され、管理拡張機能によって消去されるか、管理拡張機能を無効にするかアンインストールされるまで維持されます。
incognito_session_only
incognito_session_only スコープに設定された設定は、シークレット ウィンドウにのみ適用されます。これらについては、regularincognito_persistent の設定をオーバーライドします。これらの設定はディスクには保存されず、最後のシークレット ウィンドウを閉じると消去されます。シークレット ウィンドウを 1 つ以上開いている場合にのみ設定できます。

優先順位

Chrome はさまざまなレイヤで設定を管理します。次のリストは、有効な設定に影響を与える可能性のあるレイヤについて、優先順位の高い順に記載しています。

  1. オペレーティング システムのシステム設定
  2. コマンドライン パラメータ
  3. 拡張機能によって提供される設定
  4. ポリシー

リストが示すように、拡張機能に指定した変更はポリシーによって無効にされる可能性があります。get() 関数を使用して、拡張機能で設定を提供できるかどうか、またはこの設定をオーバーライドするかどうかを決定できます。

前述のように、Chrome では通常のウィンドウとシークレット ウィンドウで異なる設定を使用できます。次の例は、その動作を示しています。設定をオーバーライドするポリシーがなく、拡張機能で通常のウィンドウ(R)(R)とシークレット ウィンドウの設定(R)を設定できるものとします。

  • (R)のみが設定されている場合、その設定は通常のウィンドウとシークレット ウィンドウの両方に対して有効になります。
  • (I)のみが設定されている場合、これらの設定はシークレット ウィンドウに対してのみ有効になります。通常のウィンドウは、下位レイヤで決定される設定(コマンドライン オプションとシステム設定)を使用します。
  • (R)(I)の両方が設定されている場合、通常のウィンドウとシークレット ウィンドウにそれぞれの設定が使用されます。

複数の拡張機能で同じ設定が異なる値を設定する場合は、最後にインストールされた拡張機能が他の拡張機能よりも優先されます。最後にインストールした拡張機能で(I)のみが設定されている場合、通常のウィンドウの設定は、以前インストールした拡張機能で定義できます。

設定の「有効」値は、優先順位ルールを考慮した結果として得られる値です。Chrome で使用されます。

ChromeSetting

Chrome ブラウザの設定にアクセスするためのインターフェース。例については、accessibilityFeatures をご覧ください。

プロパティ

  • onChange

    イベント<functionvoidvoid>

    設定の変更後に呼び出されます。

    onChange.addListener 関数は次のようになります。

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

    • callback

      機能

      callback パラメータは次のようになります。

      (details: object)=>void

      • 詳細

        オブジェクト

        • incognitoSpecific

          ブール値(省略可)

          変更された値がシークレット セッションに固有のものかどうかを示します。このプロパティは、ユーザーがシークレット モードで拡張機能を有効にした場合にのみ存在します。

        • levelOfControl

          設定の制御レベル。

        • value

          T

          変更後の設定の値。

  • 消去

    void

    Promise

    設定を消去し、デフォルト値に戻します。

    clear 関数は次のようになります。

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

    • 詳細

      オブジェクト

      どの設定を消去するか。

      • スコープ

        設定をクリアする場所(デフォルト: 標準)。

    • callback

      関数(省略可)

      callback パラメータは次のようになります。

      ()=>void

    • 戻り値

      Promise<void>

      Chrome 96 以降

      Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

  • get

    void

    Promise

    設定の値を取得します。

    get 関数は次のようになります。

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

    • 詳細

      オブジェクト

      考慮すべき設定。

      • シークレット モード

        ブール値(省略可)

        シークレット セッションに適用される値を返すかどうか(デフォルトは false)。

    • callback

      関数(省略可)

      callback パラメータは次のようになります。

      (details: object)=>void

      • 詳細

        オブジェクト

        現在有効な値の詳細。

        • incognitoSpecific

          ブール値(省略可)

          有効な値がシークレット セッションに固有のものであるかどうかを示します。このプロパティは、get()details パラメータの incognito プロパティが true の場合にのみ存在します。

        • levelOfControl

          設定の制御レベル。

        • value

          T

          設定の値。

    • 戻り値

      Promise<object>

      Chrome 96 以降

      Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

  • set

    void

    Promise

    設定の値を設定します。

    set 関数は次のようになります。

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

    • 詳細

      オブジェクト

      変更する設定。

      • スコープ

        設定を行う場所(デフォルト: 標準)。

      • value

        T

        設定の値。どの設定にも、値の種類があります。値の種類については、設定とともに説明します。拡張機能に別の型の値を設定しないでください。

    • callback

      関数(省略可)

      callback パラメータは次のようになります。

      ()=>void

    • 戻り値

      Promise<void>

      Chrome 96 以降

      Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

ChromeSettingScope

Chrome 44 以降

ChromeSetting のスコープ。次のいずれか 1 つ:

  • regular: 通常のプロファイルの設定(他の場所でオーバーライドされていなければ、シークレット プロファイルに継承されます)。
  • regular\_only: 通常のプロファイルのみの設定(シークレット プロファイルに継承されない)。
  • incognito\_persistent: ブラウザの再起動後も保持される(通常の設定をオーバーライドする)シークレット プロファイルの設定
  • incognito\_session\_only: シークレット プロファイルの設定。シークレット モードのセッション中にのみ設定でき、シークレット モードのセッションが終了すると削除されます(通常の設定と シークレット モードの永続性の設定をオーバーライドします)。

Enum

"regular_only"

LevelOfControl

Chrome 44 以降

次のいずれか 1 つ:

  • not\_controllable: どの拡張機能でも制御できない
  • controlled\_by\_other\_extensions: 優先度の高い拡張機能によって制御されます。
  • controllable\_by\_this\_extension: この拡張機能で制御できます。
  • controlled\_by\_this\_extension: この拡張機能によって制御されます

Enum

"not_controllable"

"controllable_by_this_extension"

"controlled_by_this_extension"