Add support for a "split" incognito behavior for extensions.
- On by default for apps, off by default for extensions.
- Split mode means "run incognito extensions in a separate process if the user
says OK, and the two processes can only see their own profile."
- Spanning mode is what we have now, and means "run a single extension process,
but allow it to access both profiles if the user says OK."
BUG=49232
BUG=49114
TEST=extensions still work in incognito when you check "Allow in Incognito".
Review URL: http://codereview.chromium.org/3210007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58033 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h
index 66e12f2..bb4d4d5e 100644
--- a/chrome/common/extensions/extension.h
+++ b/chrome/common/extensions/extension.h
@@ -366,6 +366,7 @@
LaunchContainer launch_container() const { return launch_container_; }
int launch_width() const { return launch_width_; }
int launch_height() const { return launch_height_; }
+ bool incognito_split_mode() const { return incognito_split_mode_; }
// Gets the fully resolved absolute launch URL.
GURL GetFullLaunchURL() const;
@@ -582,6 +583,10 @@
// The omnibox keyword for this extension, or empty if there is none.
std::string omnibox_keyword_;
+ // If true, a separate process will be used for the extension in incognito
+ // mode.
+ bool incognito_split_mode_;
+
// Runtime data:
// True if the background page is ready.