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

Unified Diff: components/content_settings/core/browser/content_settings_pref_provider.cc

Issue 2816723002: Add "Site Settings" option to Clear Browsing Data on Android (Closed)
Patch Set: fix deps Created 3 years, 7 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/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 98ab6245d6c1b8bff0b48c31a428e746b24609e7..9c66d12b68ab2e36c2477f0c23c99afcef6ab727 100644
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
@@ -15,6 +15,7 @@
#include "base/bind.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
+#include "base/time/default_clock.h"
#include "components/content_settings/core/browser/content_settings_pref.h"
#include "components/content_settings/core/browser/content_settings_rule.h"
#include "components/content_settings/core/browser/content_settings_utils.h"
@@ -83,7 +84,10 @@ void PrefProvider::RegisterProfilePrefs(
PrefProvider::PrefProvider(PrefService* prefs,
bool incognito,
bool store_last_modified)
- : prefs_(prefs), is_incognito_(incognito) {
+ : prefs_(prefs),
+ is_incognito_(incognito),
+ store_last_modified_(store_last_modified),
+ clock_(new base::DefaultClock) {
DCHECK(prefs_);
// Verify preferences version.
if (!prefs_->HasPrefPath(prefs::kContentSettingsVersion)) {
@@ -106,7 +110,7 @@ PrefProvider::PrefProvider(PrefService* prefs,
info->type(),
base::MakeUnique<ContentSettingsPref>(
info->type(), prefs_, &pref_change_registrar_, info->pref_name(),
- is_incognito_, store_last_modified,
+ is_incognito_,
base::Bind(&PrefProvider::Notify, base::Unretained(this)))));
}
@@ -151,9 +155,12 @@ bool PrefProvider::SetWebsiteSetting(
return false;
}
+ base::Time modified_time =
+ store_last_modified_ ? clock_->Now() : base::Time();
+
return GetPref(content_type)
->SetWebsiteSetting(primary_pattern, secondary_pattern,
- resource_identifier, in_value);
+ resource_identifier, modified_time, in_value);
}
base::Time PrefProvider::GetWebsiteSettingLastModified(
@@ -274,4 +281,8 @@ void PrefProvider::DiscardObsoletePreferences() {
}
}
+void PrefProvider::SetClockForTesting(std::unique_ptr<base::Clock> clock) {
+ clock_ = std::move(clock);
+}
+
} // namespace content_settings

Powered by Google App Engine
This is Rietveld 408576698