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

Unified Diff: chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc

Issue 2697123004: Convert RemoveDataMask from enum to pointers and split it between content and embedder (Closed)
Patch Set: Android compilation 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
« no previous file with comments | « chrome/browser/ui/webui/options/clear_browser_data_handler.cc ('k') | content/browser/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
diff --git a/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc b/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
index 6d263d8ca56762c400a4828244b9a1e76c2a838c..0c4ef1398d244054f22bb1d4893ea09f6ccdcf25 100644
--- a/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
+++ b/chrome/browser/ui/webui/settings/settings_clear_browsing_data_handler.cc
@@ -6,6 +6,8 @@
#include <stddef.h>
+#include <set>
+
#include "base/macros.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
@@ -14,6 +16,7 @@
#include "chrome/browser/browsing_data/browsing_data_counter_utils.h"
#include "chrome/browser/browsing_data/browsing_data_helper.h"
#include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
+#include "chrome/browser/browsing_data/chrome_browsing_data_types.h"
#include "chrome/browser/history/web_history_service_factory.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
#include "chrome/common/channel_info.h"
@@ -122,42 +125,43 @@ void ClearBrowsingDataHandler::HandleClearBrowsingData(
PrefService* prefs = profile_->GetPrefs();
- int site_data_mask = BrowsingDataRemover::REMOVE_SITE_DATA;
- // Don't try to clear LSO data if it's not supported.
- if (!prefs->GetBoolean(prefs::kClearPluginLSODataEnabled))
- site_data_mask &= ~BrowsingDataRemover::REMOVE_PLUGIN_DATA;
-
- int remove_mask = 0;
+ std::set<const content::BrowsingDataType*> remove_mask;
if (prefs->GetBoolean(prefs::kAllowDeletingBrowserHistory)) {
if (prefs->GetBoolean(browsing_data::prefs::kDeleteBrowsingHistory))
- remove_mask |= BrowsingDataRemover::REMOVE_HISTORY;
+ remove_mask.insert(&kBrowsingDataTypeHistory);
if (prefs->GetBoolean(browsing_data::prefs::kDeleteDownloadHistory))
- remove_mask |= BrowsingDataRemover::REMOVE_DOWNLOADS;
+ remove_mask.insert(&kBrowsingDataTypeDownloads);
}
if (prefs->GetBoolean(browsing_data::prefs::kDeleteCache))
- remove_mask |= BrowsingDataRemover::REMOVE_CACHE;
+ remove_mask.insert(&kBrowsingDataTypeCache);
int origin_mask = 0;
if (prefs->GetBoolean(browsing_data::prefs::kDeleteCookies)) {
- remove_mask |= site_data_mask;
+ remove_mask.insert(BrowsingDataTypeSetSiteData().begin(),
+ BrowsingDataTypeSetSiteData().end());
origin_mask |= BrowsingDataHelper::UNPROTECTED_WEB;
}
if (prefs->GetBoolean(browsing_data::prefs::kDeletePasswords))
- remove_mask |= BrowsingDataRemover::REMOVE_PASSWORDS;
+ remove_mask.insert(&kBrowsingDataTypePasswords);
if (prefs->GetBoolean(browsing_data::prefs::kDeleteFormData))
- remove_mask |= BrowsingDataRemover::REMOVE_FORM_DATA;
+ remove_mask.insert(&kBrowsingDataTypeFormData);
if (prefs->GetBoolean(browsing_data::prefs::kDeleteMediaLicenses))
- remove_mask |= BrowsingDataRemover::REMOVE_MEDIA_LICENSES;
+ remove_mask.insert(&kBrowsingDataTypeMediaLicenses);
if (prefs->GetBoolean(browsing_data::prefs::kDeleteHostedAppsData)) {
- remove_mask |= site_data_mask;
+ remove_mask.insert(BrowsingDataTypeSetSiteData().begin(),
+ BrowsingDataTypeSetSiteData().end());
origin_mask |= BrowsingDataHelper::PROTECTED_WEB;
}
+ // Don't try to clear LSO data if it's not supported.
+ if (!prefs->GetBoolean(prefs::kClearPluginLSODataEnabled))
+ remove_mask.erase(&kBrowsingDataTypePluginData);
+
// Record the deletion of cookies and cache.
BrowsingDataRemover::CookieOrCacheDeletionChoice choice =
BrowsingDataRemover::NEITHER_COOKIES_NOR_CACHE;
« no previous file with comments | « chrome/browser/ui/webui/options/clear_browser_data_handler.cc ('k') | content/browser/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698