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

Unified Diff: components/browsing_data/core/browsing_data_utils.cc

Issue 2671743002: Separate state of basic and advanced tab in CBD dialog (Closed)
Patch Set: rebase and fix 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: components/browsing_data/core/browsing_data_utils.cc
diff --git a/components/browsing_data/core/browsing_data_utils.cc b/components/browsing_data/core/browsing_data_utils.cc
index 8935742efed8b54bd2fb5854d0059ddd9b65864e..d353f009cfed075ca9361a78be9c48d8c6d8f43d 100644
--- a/components/browsing_data/core/browsing_data_utils.cc
+++ b/components/browsing_data/core/browsing_data_utils.cc
@@ -9,6 +9,7 @@
#include "components/browsing_data/core/counters/history_counter.h"
#include "components/browsing_data/core/counters/passwords_counter.h"
#include "components/browsing_data/core/pref_names.h"
+#include "components/prefs/pref_service.h"
#include "components/strings/grit/components_strings.h"
#include "ui/base/l10n/l10n_util.h"
@@ -18,19 +19,19 @@ base::Time CalculateBeginDeleteTime(TimePeriod time_period) {
base::TimeDelta diff;
base::Time delete_begin_time = base::Time::Now();
switch (time_period) {
- case LAST_HOUR:
+ case TimePeriod::LAST_HOUR:
diff = base::TimeDelta::FromHours(1);
break;
- case LAST_DAY:
+ case TimePeriod::LAST_DAY:
diff = base::TimeDelta::FromHours(24);
break;
- case LAST_WEEK:
+ case TimePeriod::LAST_WEEK:
diff = base::TimeDelta::FromHours(7 * 24);
break;
- case FOUR_WEEKS:
+ case TimePeriod::FOUR_WEEKS:
diff = base::TimeDelta::FromHours(4 * 7 * 24);
break;
- case ALL_TIME:
+ case TimePeriod::ALL_TIME:
delete_begin_time = base::Time();
break;
}
@@ -44,20 +45,20 @@ base::Time CalculateEndDeleteTime(TimePeriod time_period) {
void RecordDeletionForPeriod(TimePeriod period) {
switch (period) {
- case browsing_data::LAST_HOUR:
+ case TimePeriod::LAST_HOUR:
base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastHour"));
break;
- case browsing_data::LAST_DAY:
+ case TimePeriod::LAST_DAY:
base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastDay"));
break;
- case browsing_data::LAST_WEEK:
+ case TimePeriod::LAST_WEEK:
base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastWeek"));
break;
- case browsing_data::FOUR_WEEKS:
+ case TimePeriod::FOUR_WEEKS:
base::RecordAction(
base::UserMetricsAction("ClearBrowsingData_LastMonth"));
break;
- case browsing_data::ALL_TIME:
+ case TimePeriod::ALL_TIME:
base::RecordAction(
base::UserMetricsAction("ClearBrowsingData_Everything"));
break;
@@ -85,7 +86,8 @@ base::string16 GetCounterTextFromResult(
? IDS_DEL_PASSWORDS_COUNTER
: IDS_DEL_DOWNLOADS_COUNTER,
count);
- } else if (pref_name == browsing_data::prefs::kDeleteBrowsingHistory) {
+ } else if (pref_name == browsing_data::prefs::kDeleteBrowsingHistory ||
+ pref_name == browsing_data::prefs::kDeleteBrowsingHistoryBasic) {
// History counter.
const browsing_data::HistoryCounter::HistoryResult* history_result =
static_cast<const browsing_data::HistoryCounter::HistoryResult*>(
@@ -169,30 +171,55 @@ base::string16 GetCounterTextFromResult(
return text;
}
+const char* GetTimePeriodPreferenceName(
+ ClearBrowsingDataTab clear_browsing_data_tab) {
+ return clear_browsing_data_tab == ClearBrowsingDataTab::BASIC
+ ? prefs::kDeleteTimePeriodBasic
+ : prefs::kDeleteTimePeriod;
+}
+
bool GetDeletionPreferenceFromDataType(
BrowsingDataType data_type,
+ ClearBrowsingDataTab clear_browsing_data_tab,
std::string* out_pref) {
+ if (clear_browsing_data_tab == ClearBrowsingDataTab::BASIC) {
+ switch (data_type) {
+ case BrowsingDataType::HISTORY:
+ *out_pref = prefs::kDeleteBrowsingHistoryBasic;
+ return true;
+ case BrowsingDataType::CACHE:
+ *out_pref = prefs::kDeleteCacheBasic;
+ return true;
+ case BrowsingDataType::COOKIES:
+ *out_pref = prefs::kDeleteCookiesBasic;
+ return true;
+ default:
+ // This is not a valid type for the basic tab.
+ NOTREACHED();
+ return false;
+ }
+ }
switch (data_type) {
- case HISTORY:
+ case BrowsingDataType::HISTORY:
*out_pref = prefs::kDeleteBrowsingHistory;
return true;
- case CACHE:
+ case BrowsingDataType::CACHE:
*out_pref = prefs::kDeleteCache;
return true;
- case COOKIES:
+ case BrowsingDataType::COOKIES:
*out_pref = prefs::kDeleteCookies;
return true;
- case PASSWORDS:
+ case BrowsingDataType::PASSWORDS:
*out_pref = prefs::kDeletePasswords;
return true;
- case FORM_DATA:
+ case BrowsingDataType::FORM_DATA:
*out_pref = prefs::kDeleteFormData;
return true;
- case BOOKMARKS:
+ case BrowsingDataType::BOOKMARKS:
// Bookmarks are deleted on the Android side. No corresponding deletion
// preference.
return false;
- case NUM_TYPES:
+ case BrowsingDataType::NUM_TYPES:
// This is not an actual type.
NOTREACHED();
return false;
@@ -201,4 +228,18 @@ bool GetDeletionPreferenceFromDataType(
return false;
}
+void MigratePreferencesToBasic(PrefService* prefs) {
+ if (!prefs->GetBoolean(prefs::kPreferencesMigratedToBasic)) {
+ prefs->SetBoolean(prefs::kDeleteBrowsingHistoryBasic,
+ prefs->GetBoolean(prefs::kDeleteBrowsingHistory));
+ prefs->SetBoolean(prefs::kDeleteCacheBasic,
+ prefs->GetBoolean(prefs::kDeleteCache));
+ prefs->SetBoolean(prefs::kDeleteCookiesBasic,
+ prefs->GetBoolean(prefs::kDeleteCookies));
+ prefs->SetInteger(prefs::kDeleteTimePeriodBasic,
+ prefs->GetInteger(prefs::kDeleteTimePeriod));
+ prefs->SetBoolean(prefs::kPreferencesMigratedToBasic, true);
+ }
+}
+
} // namespace browsing_data
« no previous file with comments | « components/browsing_data/core/browsing_data_utils.h ('k') | components/browsing_data/core/browsing_data_utils_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698