diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-31 18:40:32 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-31 18:40:32 +0000 |
commit | bc535ee5bb4eece29f5d88bcc688613b3b208b27 (patch) | |
tree | 37b90c6bbbe98732c81515b35f02f8b835ac5df7 /chrome/browser/extensions/extension_cookies_helpers.cc | |
parent | 7566dbf757617f9e77f4a7f9f031402eb7818b04 (diff) | |
download | chromium_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.cc | 6 |
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; } |