Index: components/content_settings/core/browser/host_content_settings_map.cc |
diff --git a/components/content_settings/core/browser/host_content_settings_map.cc b/components/content_settings/core/browser/host_content_settings_map.cc |
index 35100454fee7ba4ca79122721f164677a47a97a2..015bd97272633ca5165a1cc751a6b4220abbb52d 100644 |
--- a/components/content_settings/core/browser/host_content_settings_map.cc |
+++ b/components/content_settings/core/browser/host_content_settings_map.cc |
@@ -94,25 +94,32 @@ scoped_ptr<base::Value> CoerceSettingInheritedToIncognito( |
} // namespace |
HostContentSettingsMap::HostContentSettingsMap(PrefService* prefs, |
- bool incognito) |
+ bool is_incognito_profile, |
+ bool is_guest_profile) |
: |
#ifndef NDEBUG |
used_from_thread_id_(base::PlatformThread::CurrentId()), |
#endif |
prefs_(prefs), |
- is_off_the_record_(incognito) { |
+ is_off_the_record_(is_incognito_profile || is_guest_profile) { |
+ DCHECK(!(is_incognito_profile && is_guest_profile)); |
content_settings::ObservableProvider* policy_provider = |
new content_settings::PolicyProvider(prefs_); |
policy_provider->AddObserver(this); |
content_settings_providers_[POLICY_PROVIDER] = policy_provider; |
- content_settings::ObservableProvider* pref_provider = |
+ content_settings::PrefProvider* pref_provider = |
new content_settings::PrefProvider(prefs_, is_off_the_record_); |
pref_provider->AddObserver(this); |
content_settings_providers_[PREF_PROVIDER] = pref_provider; |
+ // This ensures that content settings are cleraed for the guest profile. This |
msramek
2016/01/19 13:35:07
nit: cleared
raymes
2016/01/19 23:31:39
Done.
|
+ // wouldn't be needed except that we used to allow settings to be stored for |
+ // the guest profile and so we need to ensure those get cleared. |
+ if (is_guest_profile) |
+ pref_provider->ClearPrefs(); |
content_settings::ObservableProvider* default_provider = |
- new content_settings::DefaultProvider(prefs_, is_off_the_record_); |
+ new content_settings::DefaultProvider(prefs_, is_incognito_profile); |
msramek
2016/01/19 13:35:07
This should be |is_off_the_record_| (which will al
raymes
2016/01/19 23:31:39
Ok - that sounds good. I wasn't sure of the better
msramek
2016/01/20 11:01:45
Acknowledged.
|
default_provider->AddObserver(this); |
content_settings_providers_[DEFAULT_PROVIDER] = default_provider; |
} |