Manifest - Incognito
"incognito" manifest key with either
"split" to specify how this
extension will behave if allowed to run in incognito mode.
Only extensions can choose. Apps will always use the default value for the app
"spanning" for Chrome apps and
installable web and legacy packaged apps.
The default for extensions and Chrome apps is
means that it will run in a single shared process. Any events or messages from
an incognito tab will be sent to the shared process, with an incognito
flag indicating where it came from. Because incognito tabs cannot use this
shared process, an extension using the
"spanning" incognito mode
will not be able to load pages from its extension package into the main frame
of an incognito tab.
The default for installable web apps and legacy packaged apps is
"split", which means that all app pages in an incognito window
will run in their own incognito process. If the app or extension contains a
background page, that will also run in the incognito process. This incognito
process runs along side the regular process, but has a separate memory-only
cookie store. Each process sees events and messages only from its own context
(for example, the incognito process will see only incognito tab updates). The
processes are unable to communicate with each other.
How to choose
As a rule of thumb, if your extension or app needs to load a tab in an incognito browser, use split incognito behavior. If your extension or app needs to be logged into a remote server use spanning incognito behavior.