マニフェスト - シークレット モード

"incognito" マニフェスト キーを "spanning" または "split" とともに使用して、シークレット モードでの実行を許可した場合、この拡張機能の動作を指定します。"not_allowed" を使用して、この拡張機能がシークレット モードで有効にならないようにします。

選択できるのは拡張機能のみです。アプリは、常にアプリタイプのデフォルト値を使用します。Chrome アプリでは "spanning"、インストール可能なウェブアプリと以前のパッケージ化アプリには "split" を使用します。

スパンモード

拡張機能と Chrome アプリのデフォルトは "spanning" です。つまり、単一の共有プロセスで実行されます。シークレット タブのイベントやメッセージは、そのソースを示す「シークレット」 フラグとともに、共有プロセスに送信されます。シークレット タブはこの共有プロセスを使用できないため、"spanning" シークレット モードを使用している拡張機能は、拡張機能パッケージからシークレット タブのメインフレームにページを読み込めません。

スプリット モード

インストール可能なウェブアプリと以前のパッケージ化アプリのデフォルトは "split" です。つまり、シークレット ウィンドウ内のすべてのアプリページは、それぞれ固有のシークレット プロセスで実行されます。アプリや拡張機能にバックグラウンド ページが含まれている場合は、シークレット プロセスでも実行されます。このシークレット プロセスは通常のプロセスと並行して実行されますが、メモリ専用の Cookie ストアが別途存在します。各プロセスには、それぞれのコンテキストのイベントとメッセージのみが表示されます(たとえば、シークレット モード プロセスでは、シークレット タブの更新のみが表示されます)。プロセスが相互に通信できません。

許可されない

シークレット モードでは拡張機能を有効にできません。Chrome 47 から利用可能。

選び方

原則として、拡張機能またはアプリがシークレット モードでタブを読み込む必要がある場合は、シークレット モードの「分割」動作を使用してください。拡張機能またはアプリをリモート サーバーにログインする必要がある場合は、シークレット モードの動作を使用します。

chrome.storage.syncchrome.storage.local は、通常のプロセスとシークレット プロセスの間で常に共有されます。拡張機能の設定を保持する場合は、これらを使用することをおすすめします。