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 |