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

Side by Side 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, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/browsing_data/core/browsing_data_utils.h" 5 #include "components/browsing_data/core/browsing_data_utils.h"
6 6
7 #include "base/metrics/user_metrics.h" 7 #include "base/metrics/user_metrics.h"
8 #include "components/browsing_data/core/counters/autofill_counter.h" 8 #include "components/browsing_data/core/counters/autofill_counter.h"
9 #include "components/browsing_data/core/counters/history_counter.h" 9 #include "components/browsing_data/core/counters/history_counter.h"
10 #include "components/browsing_data/core/counters/passwords_counter.h" 10 #include "components/browsing_data/core/counters/passwords_counter.h"
11 #include "components/browsing_data/core/pref_names.h" 11 #include "components/browsing_data/core/pref_names.h"
12 #include "components/prefs/pref_service.h"
12 #include "components/strings/grit/components_strings.h" 13 #include "components/strings/grit/components_strings.h"
13 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
14 15
15 namespace browsing_data { 16 namespace browsing_data {
16 17
17 base::Time CalculateBeginDeleteTime(TimePeriod time_period) { 18 base::Time CalculateBeginDeleteTime(TimePeriod time_period) {
18 base::TimeDelta diff; 19 base::TimeDelta diff;
19 base::Time delete_begin_time = base::Time::Now(); 20 base::Time delete_begin_time = base::Time::Now();
20 switch (time_period) { 21 switch (time_period) {
21 case LAST_HOUR: 22 case TimePeriod::LAST_HOUR:
22 diff = base::TimeDelta::FromHours(1); 23 diff = base::TimeDelta::FromHours(1);
23 break; 24 break;
24 case LAST_DAY: 25 case TimePeriod::LAST_DAY:
25 diff = base::TimeDelta::FromHours(24); 26 diff = base::TimeDelta::FromHours(24);
26 break; 27 break;
27 case LAST_WEEK: 28 case TimePeriod::LAST_WEEK:
28 diff = base::TimeDelta::FromHours(7 * 24); 29 diff = base::TimeDelta::FromHours(7 * 24);
29 break; 30 break;
30 case FOUR_WEEKS: 31 case TimePeriod::FOUR_WEEKS:
31 diff = base::TimeDelta::FromHours(4 * 7 * 24); 32 diff = base::TimeDelta::FromHours(4 * 7 * 24);
32 break; 33 break;
33 case ALL_TIME: 34 case TimePeriod::ALL_TIME:
34 delete_begin_time = base::Time(); 35 delete_begin_time = base::Time();
35 break; 36 break;
36 } 37 }
37 return delete_begin_time - diff; 38 return delete_begin_time - diff;
38 } 39 }
39 40
40 base::Time CalculateEndDeleteTime(TimePeriod time_period) { 41 base::Time CalculateEndDeleteTime(TimePeriod time_period) {
41 // No TimePeriod currently supports the second time bound. 42 // No TimePeriod currently supports the second time bound.
42 return base::Time::Max(); 43 return base::Time::Max();
43 } 44 }
44 45
45 void RecordDeletionForPeriod(TimePeriod period) { 46 void RecordDeletionForPeriod(TimePeriod period) {
46 switch (period) { 47 switch (period) {
47 case browsing_data::LAST_HOUR: 48 case TimePeriod::LAST_HOUR:
48 base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastHour")); 49 base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastHour"));
49 break; 50 break;
50 case browsing_data::LAST_DAY: 51 case TimePeriod::LAST_DAY:
51 base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastDay")); 52 base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastDay"));
52 break; 53 break;
53 case browsing_data::LAST_WEEK: 54 case TimePeriod::LAST_WEEK:
54 base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastWeek")); 55 base::RecordAction(base::UserMetricsAction("ClearBrowsingData_LastWeek"));
55 break; 56 break;
56 case browsing_data::FOUR_WEEKS: 57 case TimePeriod::FOUR_WEEKS:
57 base::RecordAction( 58 base::RecordAction(
58 base::UserMetricsAction("ClearBrowsingData_LastMonth")); 59 base::UserMetricsAction("ClearBrowsingData_LastMonth"));
59 break; 60 break;
60 case browsing_data::ALL_TIME: 61 case TimePeriod::ALL_TIME:
61 base::RecordAction( 62 base::RecordAction(
62 base::UserMetricsAction("ClearBrowsingData_Everything")); 63 base::UserMetricsAction("ClearBrowsingData_Everything"));
63 break; 64 break;
64 } 65 }
65 } 66 }
66 67
67 base::string16 GetCounterTextFromResult( 68 base::string16 GetCounterTextFromResult(
68 const browsing_data::BrowsingDataCounter::Result* result) { 69 const browsing_data::BrowsingDataCounter::Result* result) {
69 base::string16 text; 70 base::string16 text;
70 std::string pref_name = result->source()->GetPrefName(); 71 std::string pref_name = result->source()->GetPrefName();
71 72
72 if (!result->Finished()) { 73 if (!result->Finished()) {
73 // The counter is still counting. 74 // The counter is still counting.
74 text = l10n_util::GetStringUTF16(IDS_CLEAR_BROWSING_DATA_CALCULATING); 75 text = l10n_util::GetStringUTF16(IDS_CLEAR_BROWSING_DATA_CALCULATING);
75 76
76 } else if (pref_name == browsing_data::prefs::kDeletePasswords || 77 } else if (pref_name == browsing_data::prefs::kDeletePasswords ||
77 pref_name == browsing_data::prefs::kDeleteDownloadHistory) { 78 pref_name == browsing_data::prefs::kDeleteDownloadHistory) {
78 // Counters with trivially formatted result: passwords and downloads. 79 // Counters with trivially formatted result: passwords and downloads.
79 browsing_data::BrowsingDataCounter::ResultInt count = 80 browsing_data::BrowsingDataCounter::ResultInt count =
80 static_cast<const browsing_data::BrowsingDataCounter::FinishedResult*>( 81 static_cast<const browsing_data::BrowsingDataCounter::FinishedResult*>(
81 result) 82 result)
82 ->Value(); 83 ->Value();
83 text = l10n_util::GetPluralStringFUTF16( 84 text = l10n_util::GetPluralStringFUTF16(
84 pref_name == browsing_data::prefs::kDeletePasswords 85 pref_name == browsing_data::prefs::kDeletePasswords
85 ? IDS_DEL_PASSWORDS_COUNTER 86 ? IDS_DEL_PASSWORDS_COUNTER
86 : IDS_DEL_DOWNLOADS_COUNTER, 87 : IDS_DEL_DOWNLOADS_COUNTER,
87 count); 88 count);
88 } else if (pref_name == browsing_data::prefs::kDeleteBrowsingHistory) { 89 } else if (pref_name == browsing_data::prefs::kDeleteBrowsingHistory ||
90 pref_name == browsing_data::prefs::kDeleteBrowsingHistoryBasic) {
89 // History counter. 91 // History counter.
90 const browsing_data::HistoryCounter::HistoryResult* history_result = 92 const browsing_data::HistoryCounter::HistoryResult* history_result =
91 static_cast<const browsing_data::HistoryCounter::HistoryResult*>( 93 static_cast<const browsing_data::HistoryCounter::HistoryResult*>(
92 result); 94 result);
93 browsing_data::BrowsingDataCounter::ResultInt local_item_count = 95 browsing_data::BrowsingDataCounter::ResultInt local_item_count =
94 history_result->Value(); 96 history_result->Value();
95 bool has_synced_visits = history_result->has_synced_visits(); 97 bool has_synced_visits = history_result->has_synced_visits();
96 98
97 text = has_synced_visits 99 text = has_synced_visits
98 ? l10n_util::GetPluralStringFUTF16( 100 ? l10n_util::GetPluralStringFUTF16(
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 displayed_strings[1], displayed_strings[2]); 164 displayed_strings[1], displayed_strings[2]);
163 break; 165 break;
164 default: 166 default:
165 NOTREACHED(); 167 NOTREACHED();
166 } 168 }
167 } 169 }
168 170
169 return text; 171 return text;
170 } 172 }
171 173
174 const char* GetTimePeriodPreferenceName(
175 ClearBrowsingDataTab clear_browsing_data_tab) {
176 return clear_browsing_data_tab == ClearBrowsingDataTab::BASIC
177 ? prefs::kDeleteTimePeriodBasic
178 : prefs::kDeleteTimePeriod;
179 }
180
172 bool GetDeletionPreferenceFromDataType( 181 bool GetDeletionPreferenceFromDataType(
173 BrowsingDataType data_type, 182 BrowsingDataType data_type,
183 ClearBrowsingDataTab clear_browsing_data_tab,
174 std::string* out_pref) { 184 std::string* out_pref) {
185 if (clear_browsing_data_tab == ClearBrowsingDataTab::BASIC) {
186 switch (data_type) {
187 case BrowsingDataType::HISTORY:
188 *out_pref = prefs::kDeleteBrowsingHistoryBasic;
189 return true;
190 case BrowsingDataType::CACHE:
191 *out_pref = prefs::kDeleteCacheBasic;
192 return true;
193 case BrowsingDataType::COOKIES:
194 *out_pref = prefs::kDeleteCookiesBasic;
195 return true;
196 default:
197 // This is not a valid type for the basic tab.
198 NOTREACHED();
199 return false;
200 }
201 }
175 switch (data_type) { 202 switch (data_type) {
176 case HISTORY: 203 case BrowsingDataType::HISTORY:
177 *out_pref = prefs::kDeleteBrowsingHistory; 204 *out_pref = prefs::kDeleteBrowsingHistory;
178 return true; 205 return true;
179 case CACHE: 206 case BrowsingDataType::CACHE:
180 *out_pref = prefs::kDeleteCache; 207 *out_pref = prefs::kDeleteCache;
181 return true; 208 return true;
182 case COOKIES: 209 case BrowsingDataType::COOKIES:
183 *out_pref = prefs::kDeleteCookies; 210 *out_pref = prefs::kDeleteCookies;
184 return true; 211 return true;
185 case PASSWORDS: 212 case BrowsingDataType::PASSWORDS:
186 *out_pref = prefs::kDeletePasswords; 213 *out_pref = prefs::kDeletePasswords;
187 return true; 214 return true;
188 case FORM_DATA: 215 case BrowsingDataType::FORM_DATA:
189 *out_pref = prefs::kDeleteFormData; 216 *out_pref = prefs::kDeleteFormData;
190 return true; 217 return true;
191 case BOOKMARKS: 218 case BrowsingDataType::BOOKMARKS:
192 // Bookmarks are deleted on the Android side. No corresponding deletion 219 // Bookmarks are deleted on the Android side. No corresponding deletion
193 // preference. 220 // preference.
194 return false; 221 return false;
195 case NUM_TYPES: 222 case BrowsingDataType::NUM_TYPES:
196 // This is not an actual type. 223 // This is not an actual type.
197 NOTREACHED(); 224 NOTREACHED();
198 return false; 225 return false;
199 } 226 }
200 NOTREACHED(); 227 NOTREACHED();
201 return false; 228 return false;
202 } 229 }
203 230
231 void MigratePreferencesToBasic(PrefService* prefs) {
232 if (!prefs->GetBoolean(prefs::kPreferencesMigratedToBasic)) {
233 prefs->SetBoolean(prefs::kDeleteBrowsingHistoryBasic,
234 prefs->GetBoolean(prefs::kDeleteBrowsingHistory));
235 prefs->SetBoolean(prefs::kDeleteCacheBasic,
236 prefs->GetBoolean(prefs::kDeleteCache));
237 prefs->SetBoolean(prefs::kDeleteCookiesBasic,
238 prefs->GetBoolean(prefs::kDeleteCookies));
239 prefs->SetInteger(prefs::kDeleteTimePeriodBasic,
240 prefs->GetInteger(prefs::kDeleteTimePeriod));
241 prefs->SetBoolean(prefs::kPreferencesMigratedToBasic, true);
242 }
243 }
244
204 } // namespace browsing_data 245 } // namespace browsing_data
OLDNEW
« 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