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

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

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

スパンモード

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

スプリット モード

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

許可されない

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

選び方

原則として、拡張機能またはアプリでシークレット ブラウザにタブを読み込む必要がある場合は、シークレット動作を split に設定します。拡張機能やアプリでリモート サーバーにログインする必要がある場合は、シークレット モードのスパン動作を使用します。

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