Chromium Code Reviews| Index: components/content_settings/core/browser/content_settings_pref_provider.cc |
| diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc |
| index 43738618351c6995cda3dc7c58269c655f3fc680..fa0d96591dd5e67358c67c601122bc5dbccf84fd 100644 |
| --- a/components/content_settings/core/browser/content_settings_pref_provider.cc |
| +++ b/components/content_settings/core/browser/content_settings_pref_provider.cc |
| @@ -80,9 +80,10 @@ void PrefProvider::RegisterProfilePrefs( |
| #endif // !defined(OS_IOS) |
| } |
| -PrefProvider::PrefProvider(PrefService* prefs, bool incognito) |
| - : prefs_(prefs), |
| - is_incognito_(incognito) { |
| +PrefProvider::PrefProvider(PrefService* prefs, |
| + bool incognito, |
| + bool store_last_modified) |
| + : prefs_(prefs), is_incognito_(incognito) { |
| DCHECK(prefs_); |
| // Verify preferences version. |
| if (!prefs_->HasPrefPath(prefs::kContentSettingsVersion)) { |
| @@ -105,7 +106,7 @@ PrefProvider::PrefProvider(PrefService* prefs, bool incognito) |
| info->type(), |
| base::MakeUnique<ContentSettingsPref>( |
| info->type(), prefs_, &pref_change_registrar_, info->pref_name(), |
| - is_incognito_, |
| + is_incognito_, store_last_modified, |
| base::Bind(&PrefProvider::Notify, base::Unretained(this))))); |
| } |
| @@ -155,6 +156,20 @@ bool PrefProvider::SetWebsiteSetting( |
| resource_identifier, in_value); |
| } |
| +// Delete a setting if its |last_modified| date is greater or equal to |
| +// |begin_time|. |
|
raymes
2017/04/24 03:20:23
nit: this is in the header so it's not needed here
dullweber
2017/04/25 10:50:44
Done.
|
| +void PrefProvider::DeleteWebsiteSetting( |
| + const ContentSettingsPattern& primary_pattern, |
| + const ContentSettingsPattern& secondary_pattern, |
| + ContentSettingsType content_type, |
| + base::Time begin_time) { |
| + DCHECK(CalledOnValidThread()); |
| + DCHECK(prefs_); |
| + |
| + return GetPref(content_type) |
| + ->DeleteWebsiteSetting(primary_pattern, secondary_pattern, begin_time); |
| +} |
| + |
| void PrefProvider::ClearAllContentSettingsRules( |
| ContentSettingsType content_type) { |
| DCHECK(CalledOnValidThread()); |