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

Unified Diff: chrome/browser/ui/webui/options/clear_browser_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
Index: chrome/browser/ui/webui/options/clear_browser_data_handler.cc
diff --git a/chrome/browser/ui/webui/options/clear_browser_data_handler.cc b/chrome/browser/ui/webui/options/clear_browser_data_handler.cc
index e159a35149a771adab1bb97e9cf3217f2f57b843..6724f53404900140ccae5a9c0d7a92e00d101baa 100644
--- a/chrome/browser/ui/webui/options/clear_browser_data_handler.cc
+++ b/chrome/browser/ui/webui/options/clear_browser_data_handler.cc
@@ -7,6 +7,7 @@
#include <stddef.h>
#include <memory>
+#include <set>
#include <utility>
#include "base/bind.h"
@@ -26,6 +27,7 @@
#include "chrome/browser/browsing_data/browsing_data_helper.h"
#include "chrome/browser/browsing_data/browsing_data_remover.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/prefs/incognito_mode_prefs.h"
#include "chrome/browser/profiles/profile.h"
@@ -248,38 +250,39 @@ void ClearBrowserDataHandler::HandleClearBrowserData(
Profile* profile = Profile::FromWebUI(web_ui());
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 (!*clear_plugin_lso_data_enabled_)
- site_data_mask &= ~BrowsingDataRemover::REMOVE_PLUGIN_DATA;
-
- int remove_mask = 0;
+ std::set<const content::BrowsingDataType*> remove_mask;
int origin_mask = 0;
if (prefs->GetBoolean(browsing_data::prefs::kDeleteBrowsingHistory) &&
*allow_deleting_browser_history_) {
- remove_mask |= BrowsingDataRemover::REMOVE_HISTORY;
+ remove_mask.insert(&kBrowsingDataTypeHistory);
}
if (prefs->GetBoolean(browsing_data::prefs::kDeleteDownloadHistory) &&
*allow_deleting_browser_history_) {
- 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);
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 (!*clear_plugin_lso_data_enabled_)
+ remove_mask.erase(&kBrowsingDataTypePluginData);
+
// Record the deletion of cookies and cache.
BrowsingDataRemover::CookieOrCacheDeletionChoice choice =
BrowsingDataRemover::NEITHER_COOKIES_NOR_CACHE;

Powered by Google App Engine
This is Rietveld 408576698