Chromium Code Reviews| 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; |
| } |