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

Unified Diff: chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc

Issue 2697123004: Convert RemoveDataMask from enum to pointers and split it between content and embedder (Closed)
Patch Set: More compilation error fixes. Created 3 years, 10 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: chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
index 2e75283fc889e4db1a12f5d559f03a14ff754044..9ab6a82b8a4ee984c856564d993b1146edc8695f 100644
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -115,6 +115,7 @@ using base::UserMetricsAction;
using content::BrowserContext;
using content::BrowserThread;
using content::BrowsingDataFilterBuilder;
+using content::BrowsingDataType;
namespace {
@@ -231,6 +232,12 @@ void ClearHttpAuthCacheOnIOThread(
http_session->CloseAllConnections();
}
+inline bool MaskContains(
+ const std::set<const BrowsingDataType*>& remove_mask,
+ const BrowsingDataType* data_type) {
+ return remove_mask.find(data_type) != remove_mask.end();
+}
+
} // namespace
ChromeBrowsingDataRemoverDelegate::SubTask::SubTask(
@@ -310,7 +317,7 @@ ChromeBrowsingDataRemoverDelegate::~ChromeBrowsingDataRemoverDelegate() {
void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
const base::Time& delete_begin,
const base::Time& delete_end,
- int remove_mask,
+ const std::set<const content::BrowsingDataType*>& remove_mask,
const BrowsingDataFilterBuilder& filter_builder,
int origin_type_mask,
const base::Closure& callback) {
@@ -340,13 +347,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
// All the UI entry points into the BrowsingDataRemoverImpl should be
// disabled, but this will fire if something was missed or added.
DCHECK(may_delete_history ||
- (remove_mask & BrowsingDataRemover::REMOVE_NOCHECKS) ||
- (!(remove_mask & BrowsingDataRemover::REMOVE_HISTORY) &&
- !(remove_mask & BrowsingDataRemover::REMOVE_DOWNLOADS)));
+ MaskContains(remove_mask, &kBrowsingDataTypeNoChecks) ||
+ (!MaskContains(remove_mask, &kBrowsingDataTypeHistory) &&
+ !MaskContains(remove_mask, &kBrowsingDataTypeDownloads)));
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_HISTORY
- if ((remove_mask & BrowsingDataRemover::REMOVE_HISTORY) &&
+ // kBrowsingDataTypeHistory
+ if (MaskContains(remove_mask, &kBrowsingDataTypeHistory) &&
may_delete_history) {
history::HistoryService* history_service =
HistoryServiceFactory::GetForProfile(
@@ -571,8 +578,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_DOWNLOADS
- if ((remove_mask & BrowsingDataRemover::REMOVE_DOWNLOADS) &&
+ // kBrowsingDataTypeDownloads
+ if (MaskContains(remove_mask, &kBrowsingDataTypeDownloads) &&
may_delete_history) {
DownloadPrefs* download_prefs = DownloadPrefs::FromDownloadManager(
BrowserContext::GetDownloadManager(profile_));
@@ -580,13 +587,13 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_COOKIES
- // We ignore the REMOVE_COOKIES request if UNPROTECTED_WEB is not set,
- // so that callers who request REMOVE_SITE_DATA with PROTECTED_WEB
+ // kBrowsingDataTypeCookies
+ // We ignore the kBrowsingDataTypeCookies request if UNPROTECTED_WEB is not
+ // set, so that callers who request site data with PROTECTED_WEB
// don't accidentally remove the cookies that are associated with the
// UNPROTECTED_WEB origin. This is necessary because cookies are not separated
// between UNPROTECTED_WEB and PROTECTED_WEB.
- if (remove_mask & BrowsingDataRemover::REMOVE_COOKIES &&
+ if (MaskContains(remove_mask, &kBrowsingDataTypeCookies) &&
origin_type_mask & BrowsingDataHelper::UNPROTECTED_WEB) {
content::RecordAction(UserMetricsAction("ClearBrowsingData_Cookies"));
@@ -630,8 +637,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_DURABLE_PERMISSION
- if (remove_mask & BrowsingDataRemover::REMOVE_DURABLE_PERMISSION) {
+ // kRemoveDurablePermission
+ if (MaskContains(remove_mask, &kBrowsingDataTypeDurablePermission)) {
HostContentSettingsMapFactory::GetForProfile(profile_)
->ClearSettingsForOneTypeWithPredicate(
CONTENT_SETTINGS_TYPE_DURABLE_STORAGE,
@@ -639,16 +646,16 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_SITE_USAGE_DATA
- if (remove_mask & BrowsingDataRemover::REMOVE_SITE_USAGE_DATA) {
+ // kRemoveSiteUsageData
+ if (MaskContains(remove_mask, &kBrowsingDataTypeSiteUsageData)) {
HostContentSettingsMapFactory::GetForProfile(profile_)
->ClearSettingsForOneTypeWithPredicate(
CONTENT_SETTINGS_TYPE_SITE_ENGAGEMENT,
base::Bind(&WebsiteSettingsFilterAdapter, filter));
}
- if ((remove_mask & BrowsingDataRemover::REMOVE_SITE_USAGE_DATA) ||
- (remove_mask & BrowsingDataRemover::REMOVE_HISTORY)) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypeSiteUsageData) ||
+ MaskContains(remove_mask, &kBrowsingDataTypeHistory)) {
HostContentSettingsMapFactory::GetForProfile(profile_)
->ClearSettingsForOneTypeWithPredicate(
CONTENT_SETTINGS_TYPE_APP_BANNER,
@@ -660,7 +667,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
//////////////////////////////////////////////////////////////////////////////
// Password manager
- if (remove_mask & BrowsingDataRemover::REMOVE_PASSWORDS) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypePasswords)) {
content::RecordAction(UserMetricsAction("ClearBrowsingData_Passwords"));
password_manager::PasswordStore* password_store =
PasswordStoreFactory::GetForProfile(
@@ -684,7 +691,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
clear_http_auth_cache_.GetCompletionCallback());
}
- if (remove_mask & BrowsingDataRemover::REMOVE_COOKIES) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypeCookies)) {
password_manager::PasswordStore* password_store =
PasswordStoreFactory::GetForProfile(profile_,
ServiceAccessType::EXPLICIT_ACCESS)
@@ -697,7 +704,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
}
- if (remove_mask & BrowsingDataRemover::REMOVE_HISTORY) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypeHistory)) {
password_manager::PasswordStore* password_store =
PasswordStoreFactory::GetForProfile(
profile_, ServiceAccessType::EXPLICIT_ACCESS).get();
@@ -711,9 +718,9 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_FORM_DATA
+ // kRemoveFormData
// TODO(dmurph): Support all backends with filter (crbug.com/113621).
- if (remove_mask & BrowsingDataRemover::REMOVE_FORM_DATA) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypeFormData)) {
content::RecordAction(UserMetricsAction("ClearBrowsingData_Autofill"));
scoped_refptr<autofill::AutofillWebDataService> web_data_service =
WebDataServiceFactory::GetAutofillWebDataForProfile(
@@ -739,8 +746,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_CACHE
- if (remove_mask & BrowsingDataRemover::REMOVE_CACHE) {
+ // kRemoveCache
+ if (MaskContains(remove_mask, &kBrowsingDataTypeCache)) {
#if !defined(DISABLE_NACL)
clear_nacl_cache_.Start();
@@ -796,7 +803,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
#if defined(OS_ANDROID)
// For now we're considering offline pages as cache, so if we're removing
// cache we should remove offline pages as well.
- if ((remove_mask & BrowsingDataRemover::REMOVE_CACHE)) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypeCache)) {
clear_offline_page_data_.Start();
offline_pages::OfflinePageModelFactory::GetForBrowserContext(profile_)
->DeleteCachedPagesByURLPredicate(
@@ -820,7 +827,7 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
#if BUILDFLAG(ENABLE_PLUGINS)
// Plugin is data not separated for protected and unprotected web origins. We
// check the origin_type_mask_ to prevent unintended deletion.
- if (remove_mask & BrowsingDataRemover::REMOVE_PLUGIN_DATA &&
+ if (MaskContains(remove_mask, &kBrowsingDataTypePluginData) &&
origin_type_mask & BrowsingDataHelper::UNPROTECTED_WEB) {
content::RecordAction(UserMetricsAction("ClearBrowsingData_LSOData"));
clear_plugin_data_count_ = 1;
@@ -848,8 +855,8 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
#endif
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_MEDIA_LICENSES
- if (remove_mask & BrowsingDataRemover::REMOVE_MEDIA_LICENSES) {
+ // kBrowsingDataTypeMediaLicenses
+ if (MaskContains(remove_mask, &kBrowsingDataTypeMediaLicenses)) {
// TODO(jrummell): This UMA should be renamed to indicate it is for Media
// Licenses.
content::RecordAction(
@@ -890,21 +897,21 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
// Remove omnibox zero-suggest cache results. Filtering is not supported.
// This is not a problem, as deleting more data than necessary will just cause
// another server round-trip; no data is actually lost.
- if ((remove_mask & (BrowsingDataRemover::REMOVE_CACHE |
- BrowsingDataRemover::REMOVE_COOKIES))) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypeCache) ||
+ MaskContains(remove_mask, &kBrowsingDataTypeCookies)) {
prefs->SetString(omnibox::kZeroSuggestCachedResults, std::string());
}
//////////////////////////////////////////////////////////////////////////////
// Domain reliability service.
- if (remove_mask & (BrowsingDataRemover::REMOVE_COOKIES |
- BrowsingDataRemover::REMOVE_HISTORY)) {
+ if (MaskContains(remove_mask, &kBrowsingDataTypeCookies) ||
+ MaskContains(remove_mask, &kBrowsingDataTypeHistory)) {
domain_reliability::DomainReliabilityService* service =
domain_reliability::DomainReliabilityServiceFactory::
GetForBrowserContext(profile_);
if (service) {
domain_reliability::DomainReliabilityClearMode mode;
- if (remove_mask & BrowsingDataRemover::REMOVE_COOKIES)
+ if (MaskContains(remove_mask, &kBrowsingDataTypeCookies))
mode = domain_reliability::CLEAR_CONTEXTS;
else
mode = domain_reliability::CLEAR_BEACONS;
@@ -918,10 +925,10 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
}
//////////////////////////////////////////////////////////////////////////////
- // REMOVE_WEBAPP_DATA
+ // kBrowsingDataTypeWebappData
#if defined(OS_ANDROID)
// Clear all data associated with registered webapps.
- if (remove_mask & BrowsingDataRemover::REMOVE_WEBAPP_DATA)
+ if (MaskContains(remove_mask, &kBrowsingDataTypeWebAppData))
webapp_registry_->UnregisterWebappsForUrls(filter);
#endif

Powered by Google App Engine
This is Rietveld 408576698