OLD | NEW |
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 #ifndef COMPONENTS_BROWSING_DATA_CORE_BROWSING_DATA_UTILS_H_ | 5 #ifndef COMPONENTS_BROWSING_DATA_CORE_BROWSING_DATA_UTILS_H_ |
6 #define COMPONENTS_BROWSING_DATA_CORE_BROWSING_DATA_UTILS_H_ | 6 #define COMPONENTS_BROWSING_DATA_CORE_BROWSING_DATA_UTILS_H_ |
7 | 7 |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "components/browsing_data/core/clear_browsing_data_tab.h" |
10 #include "components/browsing_data/core/counters/browsing_data_counter.h" | 11 #include "components/browsing_data/core/counters/browsing_data_counter.h" |
11 | 12 |
12 namespace browsing_data { | 13 namespace browsing_data { |
13 | 14 |
14 // Browsing data types as seen in the Android UI. | 15 // Browsing data types as seen in the Android UI. |
15 // TODO(msramek): Reuse this enum as the canonical representation of the | 16 // TODO(msramek): Reuse this enum as the canonical representation of the |
16 // user-facing browsing data types in the Desktop UI as well. | 17 // user-facing browsing data types in the Desktop UI as well. |
17 // | 18 // |
18 // A Java counterpart will be generated for this enum. | 19 // A Java counterpart will be generated for this enum. |
19 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browsing_data | 20 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browsing_data |
20 enum BrowsingDataType { | 21 enum class BrowsingDataType { |
21 HISTORY, | 22 HISTORY, |
22 CACHE, | 23 CACHE, |
23 COOKIES, | 24 COOKIES, |
24 PASSWORDS, | 25 PASSWORDS, |
25 FORM_DATA, | 26 FORM_DATA, |
26 BOOKMARKS, | 27 BOOKMARKS, |
27 NUM_TYPES | 28 NUM_TYPES |
28 }; | 29 }; |
29 | 30 |
30 // Time period ranges available when doing browsing data removals. | 31 // Time period ranges available when doing browsing data removals. |
31 // | 32 // |
32 // A Java counterpart will be generated for this enum. | 33 // A Java counterpart will be generated for this enum. |
33 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browsing_data | 34 // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.browsing_data |
34 enum TimePeriod { | 35 enum class TimePeriod { |
35 LAST_HOUR = 0, | 36 LAST_HOUR = 0, |
36 LAST_DAY, | 37 LAST_DAY, |
37 LAST_WEEK, | 38 LAST_WEEK, |
38 FOUR_WEEKS, | 39 FOUR_WEEKS, |
39 ALL_TIME, | 40 ALL_TIME, |
40 TIME_PERIOD_LAST = ALL_TIME | 41 TIME_PERIOD_LAST = ALL_TIME |
41 }; | 42 }; |
42 | 43 |
43 // Calculate the begin time for the deletion range specified by |time_period|. | 44 // Calculate the begin time for the deletion range specified by |time_period|. |
44 base::Time CalculateBeginDeleteTime(TimePeriod time_period); | 45 base::Time CalculateBeginDeleteTime(TimePeriod time_period); |
45 | 46 |
46 // Calculate the end time for the deletion range specified by |time_period|. | 47 // Calculate the end time for the deletion range specified by |time_period|. |
47 base::Time CalculateEndDeleteTime(TimePeriod time_period); | 48 base::Time CalculateEndDeleteTime(TimePeriod time_period); |
48 | 49 |
49 // Records the UMA action of UI-triggered data deletion for |time_period|. | 50 // Records the UMA action of UI-triggered data deletion for |time_period|. |
50 void RecordDeletionForPeriod(TimePeriod time_period); | 51 void RecordDeletionForPeriod(TimePeriod time_period); |
51 | 52 |
52 // Constructs the text to be displayed by a counter from the given |result|. | 53 // Constructs the text to be displayed by a counter from the given |result|. |
53 // Currently this can only be used for counters for which the Result is defined | 54 // Currently this can only be used for counters for which the Result is defined |
54 // in components/browsing_data/core/counters. | 55 // in components/browsing_data/core/counters. |
55 base::string16 GetCounterTextFromResult( | 56 base::string16 GetCounterTextFromResult( |
56 const browsing_data::BrowsingDataCounter::Result* result); | 57 const BrowsingDataCounter::Result* result); |
| 58 |
| 59 // Returns the preference that stores the time period. |
| 60 const char* GetTimePeriodPreferenceName( |
| 61 ClearBrowsingDataTab clear_browsing_data_tab); |
57 | 62 |
58 // Copies the name of the deletion preference corresponding to the given | 63 // Copies the name of the deletion preference corresponding to the given |
59 // |data_type| to |out_pref|. Returns false if no such preference exists. | 64 // |data_type| to |out_pref|. Returns false if no such preference exists. |
60 bool GetDeletionPreferenceFromDataType( | 65 bool GetDeletionPreferenceFromDataType( |
61 BrowsingDataType data_type, | 66 BrowsingDataType data_type, |
| 67 ClearBrowsingDataTab clear_browsing_data_tab, |
62 std::string* out_pref); | 68 std::string* out_pref); |
63 | 69 |
| 70 // Copies the deletion preferences for timeperiod, cache, history and cookies |
| 71 // to a separate preferences that are used to on the basic CBD tab. |
| 72 // This only happens the first time this method is called. |
| 73 void MigratePreferencesToBasic(PrefService* prefs); |
| 74 |
64 } // namespace browsing_data | 75 } // namespace browsing_data |
65 | 76 |
66 #endif // COMPONENTS_BROWSING_DATA_CORE_BROWSING_DATA_UTILS_H_ | 77 #endif // COMPONENTS_BROWSING_DATA_CORE_BROWSING_DATA_UTILS_H_ |
OLD | NEW |