Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(542)

Unified Diff: components/content_settings/core/browser/host_content_settings_map.h

Issue 2812113004: Write last_modified date to Content Settings in the PrefProvider (Closed)
Patch Set: rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/content_settings/core/browser/host_content_settings_map.h
diff --git a/components/content_settings/core/browser/host_content_settings_map.h b/components/content_settings/core/browser/host_content_settings_map.h
index eadf365cfbd2aeea7914d113f75d79a4d1764d29..63c23d59a8061ae5bb8845bc9ff1f3441a2826c0 100644
--- a/components/content_settings/core/browser/host_content_settings_map.h
+++ b/components/content_settings/core/browser/host_content_settings_map.h
@@ -66,7 +66,8 @@ class HostContentSettingsMap : public content_settings::Observer,
// |is_incognito_profile| and |is_guest_profile| should be true.
HostContentSettingsMap(PrefService* prefs,
bool is_incognito_profile,
- bool is_guest_profile);
+ bool is_guest_profile,
+ bool store_last_modified);
static void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
@@ -217,13 +218,17 @@ class HostContentSettingsMap : public content_settings::Observer,
// This should only be called on the UI thread.
void ClearSettingsForOneType(ContentSettingsType content_type);
+ using PatternSourcePredicate =
+ base::Callback<bool(const ContentSettingsPattern& primary_pattern,
+ const ContentSettingsPattern& secondary_pattern)>;
+
// If |pattern_predicate| is null, this method is equivalent to the above.
- // Otherwise, it only deletes exceptions matched by |pattern_predicate|.
+ // Otherwise, it only deletes exceptions matched by |pattern_predicate| that
+ // were modified at or after |begin_time|.
void ClearSettingsForOneTypeWithPredicate(
ContentSettingsType content_type,
- const base::Callback<bool(
- const ContentSettingsPattern& primary_pattern,
- const ContentSettingsPattern& secondary_pattern)>& pattern_predicate);
+ base::Time begin_time,
+ const PatternSourcePredicate& pattern_predicate);
static bool IsDefaultSettingAllowedForType(ContentSetting setting,
ContentSettingsType content_type);
@@ -358,6 +363,10 @@ class HostContentSettingsMap : public content_settings::Observer,
// Whether this settings map is for an incognito session.
bool is_incognito_;
+ // Whether ContentSettings in the PrefProvider will store a last_modified
+ // timestamp.
+ bool store_last_modified_;
+
// Content setting providers. This is only modified at construction
// time and by RegisterExtensionService, both of which should happen
// before any other uses of it.

Powered by Google App Engine
This is Rietveld 408576698