summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_cookies_helpers.cc
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-31 18:40:32 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-31 18:40:32 +0000
commitbc535ee5bb4eece29f5d88bcc688613b3b208b27 (patch)
tree37b90c6bbbe98732c81515b35f02f8b835ac5df7 /chrome/browser/extensions/extension_cookies_helpers.cc
parent7566dbf757617f9e77f4a7f9f031402eb7818b04 (diff)
downloadchromium_src-bc535ee5bb4eece29f5d88bcc688613b3b208b27.zip
chromium_src-bc535ee5bb4eece29f5d88bcc688613b3b208b27.tar.gz
chromium_src-bc535ee5bb4eece29f5d88bcc688613b3b208b27.tar.bz2
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
Diffstat (limited to 'chrome/browser/extensions/extension_cookies_helpers.cc')
-rw-r--r--chrome/browser/extensions/extension_cookies_helpers.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/chrome/browser/extensions/extension_cookies_helpers.cc b/chrome/browser/extensions/extension_cookies_helpers.cc
index 2aedb5f..52368e9 100644
--- a/chrome/browser/extensions/extension_cookies_helpers.cc
+++ b/chrome/browser/extensions/extension_cookies_helpers.cc
@@ -27,9 +27,11 @@ Profile* ChooseProfileFromStoreId(const std::string& store_id,
Profile* profile,
bool include_incognito) {
DCHECK(profile);
- if (store_id == kOriginalProfileStoreId)
+ bool allow_original = !profile->IsOffTheRecord();
+ bool allow_incognito = profile->IsOffTheRecord() || include_incognito;
+ if (store_id == kOriginalProfileStoreId && allow_original)
return profile->GetOriginalProfile();
- if (store_id == kOffTheRecordProfileStoreId && include_incognito)
+ if (store_id == kOffTheRecordProfileStoreId && allow_incognito)
return profile->GetOffTheRecordProfile();
return NULL;
}