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

Side by Side Diff: components/data_reduction_proxy/browser/data_reduction_proxy_prefs.cc

Issue 652743004: Migrate data reduction proxy statistics prefs to profile (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/data_reduction_proxy/browser/data_reduction_proxy_prefs.h" 5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_prefs.h"
6 6
7 #include "base/prefs/pref_registry_simple.h" 7 #include "base/prefs/pref_registry_simple.h"
8 #include "base/prefs/pref_service.h"
9 #include "base/prefs/scoped_user_pref_update.h"
8 #include "components/data_reduction_proxy/common/data_reduction_proxy_pref_names .h" 10 #include "components/data_reduction_proxy/common/data_reduction_proxy_pref_names .h"
9 #include "components/pref_registry/pref_registry_syncable.h" 11 #include "components/pref_registry/pref_registry_syncable.h"
10 12
13 namespace {
14
15 void CopyList(const char* pref_path, PrefService* src, PrefService* dest) {
marq (ping after 24h) 2014/10/15 08:29:35 Rename to CopyPrefList for clarity.
bengr 2014/10/15 22:52:51 Done.
16 ListPrefUpdate update(dest, pref_path);
marq (ping after 24h) 2014/10/15 08:29:35 What happens if |pref_path| doesn't have a list va
bengr 2014/10/15 22:52:51 Done.
17 scoped_ptr<base::ListValue> src_list(src->GetList(pref_path)->DeepCopy());
18 update->Swap(src_list.get());
mmenke 2014/10/15 15:49:34 Shouldn't we also be deleting the old values? Or
bengr 2014/10/15 22:52:51 Done.
19 }
20
21 }
mmenke 2014/10/15 15:49:34 nit: } // namespace
bengr 2014/10/15 22:52:51 Done.
22
11 namespace data_reduction_proxy { 23 namespace data_reduction_proxy {
12 24
13 // Make sure any changes here that have the potential to impact android_webview 25 // Make sure any changes here that have the potential to impact android_webview
14 // are reflected in RegisterSimpleProfilePrefs. 26 // are reflected in RegisterSimpleProfilePrefs.
15 void RegisterSyncableProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { 27 void RegisterSyncableProfilePrefs(user_prefs::PrefRegistrySyncable* registry) {
16 registry->RegisterBooleanPref( 28 registry->RegisterBooleanPref(
17 data_reduction_proxy::prefs::kDataReductionProxyEnabled, 29 prefs::kDataReductionProxyEnabled,
18 false, 30 false,
19 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 31 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
20 registry->RegisterBooleanPref( 32 registry->RegisterBooleanPref(
21 data_reduction_proxy::prefs::kDataReductionProxyAltEnabled, 33 prefs::kDataReductionProxyAltEnabled,
22 false, 34 false,
23 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 35 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
24 registry->RegisterBooleanPref( 36 registry->RegisterBooleanPref(
25 data_reduction_proxy::prefs::kDataReductionProxyWasEnabledBefore, 37 prefs::kDataReductionProxyWasEnabledBefore,
26 false, 38 false,
27 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 39 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
40
41 registry->RegisterInt64Pref(
42 prefs::kHttpReceivedContentLength,
43 0,
44 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
45 registry->RegisterInt64Pref(
46 prefs::kHttpOriginalContentLength,
47 0,
48 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
49
50 registry->RegisterBooleanPref(
51 prefs::kStatisticsPrefsMigrated,
52 false,
53 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
54 registry->RegisterListPref(
55 prefs::kDailyHttpOriginalContentLength,
56 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
57 registry->RegisterListPref(
58 prefs::kDailyHttpReceivedContentLength,
59 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
60 registry->RegisterListPref(
61 prefs::kDailyOriginalContentLengthWithDataReductionProxyEnabled,
62 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
63 registry->RegisterListPref(
64 prefs::kDailyContentLengthWithDataReductionProxyEnabled,
65 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
66 registry->RegisterListPref(
67 prefs::kDailyContentLengthHttpsWithDataReductionProxyEnabled,
68 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
69 registry->RegisterListPref(
70 prefs::kDailyContentLengthShortBypassWithDataReductionProxyEnabled,
71 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
72 registry->RegisterListPref(
73 prefs::kDailyContentLengthLongBypassWithDataReductionProxyEnabled,
74 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
75 registry->RegisterListPref(
76 prefs::kDailyContentLengthUnknownWithDataReductionProxyEnabled,
77 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
78 registry->RegisterListPref(
79 prefs::kDailyOriginalContentLengthViaDataReductionProxy,
80 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
81 registry->RegisterListPref(
82 prefs::kDailyContentLengthViaDataReductionProxy,
83 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
84 registry->RegisterInt64Pref(
85 prefs::kDailyHttpContentLengthLastUpdateDate,
86 0L,
87 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
28 } 88 }
29 89
30 void RegisterSimpleProfilePrefs(PrefRegistrySimple* registry) { 90 void RegisterSimpleProfilePrefs(PrefRegistrySimple* registry) {
31 registry->RegisterBooleanPref( 91 registry->RegisterBooleanPref(
32 data_reduction_proxy::prefs::kDataReductionProxyEnabled, false); 92 prefs::kDataReductionProxyEnabled, false);
33 registry->RegisterBooleanPref( 93 registry->RegisterBooleanPref(
34 data_reduction_proxy::prefs::kDataReductionProxyAltEnabled, false); 94 prefs::kDataReductionProxyAltEnabled, false);
35 registry->RegisterBooleanPref( 95 registry->RegisterBooleanPref(
36 data_reduction_proxy::prefs::kDataReductionProxyWasEnabledBefore, false); 96 prefs::kDataReductionProxyWasEnabledBefore, false);
97
98 registry->RegisterBooleanPref(
99 prefs::kStatisticsPrefsMigrated, false);
100 RegisterPrefs(registry);
37 } 101 }
38 102
39 // Add any new data reduction proxy prefs to the |pref_map_| or the 103 // Add any new data reduction proxy prefs to the |pref_map_| or the
40 // |list_pref_map_| in Init() of DataReductionProxyStatisticsPrefs. 104 // |list_pref_map_| in Init() of DataReductionProxyStatisticsPrefs.
41 void RegisterPrefs(PrefRegistrySimple* registry) { 105 void RegisterPrefs(PrefRegistrySimple* registry) {
42 registry->RegisterInt64Pref( 106 registry->RegisterInt64Pref(
43 prefs::kHttpReceivedContentLength, 0); 107 prefs::kHttpReceivedContentLength, 0);
44 registry->RegisterInt64Pref( 108 registry->RegisterInt64Pref(
45 prefs::kHttpOriginalContentLength, 0); 109 prefs::kHttpOriginalContentLength, 0);
46 registry->RegisterListPref( 110 registry->RegisterListPref(
47 prefs::kDailyHttpOriginalContentLength); 111 prefs::kDailyHttpOriginalContentLength);
48 registry->RegisterListPref( 112 registry->RegisterListPref(
49 prefs::kDailyHttpReceivedContentLength); 113 prefs::kDailyHttpReceivedContentLength);
50 registry->RegisterListPref( 114 registry->RegisterListPref(
51 prefs::kDailyOriginalContentLengthWithDataReductionProxyEnabled); 115 prefs::kDailyOriginalContentLengthWithDataReductionProxyEnabled);
52 registry->RegisterListPref( 116 registry->RegisterListPref(
53 prefs::kDailyContentLengthWithDataReductionProxyEnabled); 117 prefs::kDailyContentLengthWithDataReductionProxyEnabled);
54 registry->RegisterListPref( 118 registry->RegisterListPref(
55 prefs::kDailyContentLengthHttpsWithDataReductionProxyEnabled); 119 prefs::kDailyContentLengthHttpsWithDataReductionProxyEnabled);
56 registry->RegisterListPref( 120 registry->RegisterListPref(
57 prefs::kDailyContentLengthShortBypassWithDataReductionProxyEnabled); 121 prefs::kDailyContentLengthShortBypassWithDataReductionProxyEnabled);
58 registry->RegisterListPref( 122 registry->RegisterListPref(
59 prefs::kDailyContentLengthLongBypassWithDataReductionProxyEnabled); 123 prefs::kDailyContentLengthLongBypassWithDataReductionProxyEnabled);
60 registry->RegisterListPref( 124 registry->RegisterListPref(
61 prefs::kDailyContentLengthUnknownWithDataReductionProxyEnabled); 125 prefs::kDailyContentLengthUnknownWithDataReductionProxyEnabled);
62 registry->RegisterListPref( 126 registry->RegisterListPref(
63 prefs::kDailyOriginalContentLengthViaDataReductionProxy); 127 prefs::kDailyOriginalContentLengthViaDataReductionProxy);
64 registry->RegisterListPref( 128 registry->RegisterListPref(
65 prefs::kDailyContentLengthViaDataReductionProxy); 129 prefs::kDailyContentLengthViaDataReductionProxy);
mmenke 2014/10/15 15:49:34 Should we still register all these prefs?
66 registry->RegisterInt64Pref( 130 registry->RegisterInt64Pref(
67 prefs::kDailyHttpContentLengthLastUpdateDate, 0L); 131 prefs::kDailyHttpContentLengthLastUpdateDate, 0L);
68 } 132 }
69 133
134 void MigrateStatisticsPrefs(PrefService* local_state_prefs,
135 PrefService* profile_prefs) {
136 if (profile_prefs->GetBoolean(prefs::kStatisticsPrefsMigrated))
137 return;
138 profile_prefs->SetInt64(
139 prefs::kHttpReceivedContentLength,
140 local_state_prefs->GetInt64(prefs::kHttpReceivedContentLength));
141 profile_prefs->SetInt64(
142 prefs::kHttpOriginalContentLength,
143 local_state_prefs->GetInt64(prefs::kHttpOriginalContentLength));
144 CopyList(prefs::kDailyHttpOriginalContentLength,
145 local_state_prefs, profile_prefs);
146 CopyList(prefs::kDailyHttpReceivedContentLength,
147 local_state_prefs, profile_prefs);
148 CopyList(prefs::kDailyOriginalContentLengthWithDataReductionProxyEnabled,
149 local_state_prefs, profile_prefs);
150 CopyList(prefs::kDailyContentLengthWithDataReductionProxyEnabled,
151 local_state_prefs, profile_prefs);
152 CopyList(prefs::kDailyContentLengthHttpsWithDataReductionProxyEnabled,
153 local_state_prefs, profile_prefs);
154 CopyList(prefs::kDailyContentLengthShortBypassWithDataReductionProxyEnabled,
155 local_state_prefs, profile_prefs);
156 CopyList(prefs::kDailyContentLengthLongBypassWithDataReductionProxyEnabled,
157 local_state_prefs, profile_prefs);
158 CopyList(prefs::kDailyContentLengthUnknownWithDataReductionProxyEnabled,
159 local_state_prefs, profile_prefs);
160 CopyList(prefs::kDailyOriginalContentLengthViaDataReductionProxy,
161 local_state_prefs, profile_prefs);
162 CopyList(prefs::kDailyContentLengthViaDataReductionProxy,
163 local_state_prefs, profile_prefs);
164 profile_prefs->SetInt64(
165 prefs::kDailyHttpContentLengthLastUpdateDate,
166 local_state_prefs->GetInt64(
167 prefs::kDailyHttpContentLengthLastUpdateDate));
168 profile_prefs->SetBoolean(prefs::kStatisticsPrefsMigrated, true);
169 }
170
70 } // namespace data_reduction_proxy 171 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698