シークレット モードでの実行が許可された場合の拡張機能の動作を指定するには、"spanning" または "split" を指定して "incognito" マニフェスト キーを使用します。この
拡張機能がシークレット モードで有効にならないようにするには、"not_allowed" を使用します。
スパン モード
デフォルト モードは "spanning" で、拡張機能は 1 つの
共有プロセスで実行されます。シークレット タブからのイベントまたはメッセージは、送信元を示す シークレット フラグとともに共有プロセスに送信されます。シークレット タブではこの
共有プロセスを使用できないため、"spanning" シークレット モードを使用する拡張機能は、拡張機能パッケージから
シークレット タブのメインフレームにページを読み込むことができません。
スプリット モード
"split" モードでは、シークレット ウィンドウのすべてのページが独自のシークレット
プロセスで実行されます。拡張機能にバックグラウンド ページが含まれている場合、そのページもシークレット プロセスで実行されます。
このシークレット プロセスは通常のプロセスと並行して実行されますが、メモリのみの Cookie ストアが別個に用意されます。各プロセスは、独自のコンテキストからのイベントとメッセージのみを認識します(たとえば、シークレット プロセスはシークレット タブの更新のみを認識します)。プロセスは相互に通信できません。
許可されない
拡張機能をシークレット モードで有効にすることはできません。Chrome 47 以降で利用可能です。
選び方
原則として、拡張機能でシークレット ブラウザにタブを読み込む必要がある場合は、 スプリット シークレット動作を使用します。拡張機能でリモートサーバーにログインする必要がある場合は、 スパン シークレット動作を使用します。
chrome.storage.sync と chrome.storage.local は、通常のプロセスと シークレット プロセス間で 常に 共有されます。拡張機能の設定を永続化するには、これらを使用することをおすすめします。