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

Side by Side Diff: chrome/browser/bookmarks/enhanced_bookmarks_features.cc

Issue 307013004: Renamed enum constants per Chrome coding guide (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/browser/bookmarks/enhanced_bookmarks_features.h" 5 #include "chrome/browser/bookmarks/enhanced_bookmarks_features.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/prefs/scoped_user_pref_update.h" 10 #include "base/prefs/scoped_user_pref_update.h"
(...skipping 24 matching lines...) Expand all
35 return feature && feature->IsIdInWhitelist(ext_id); 35 return feature && feature->IsIdInWhitelist(ext_id);
36 } 36 }
37 37
38 }; // namespace 38 }; // namespace
39 39
40 bool GetBookmarksExperimentExtensionID(const PrefService* user_prefs, 40 bool GetBookmarksExperimentExtensionID(const PrefService* user_prefs,
41 std::string* extension_id) { 41 std::string* extension_id) {
42 BookmarksExperimentState bookmarks_experiment_state = 42 BookmarksExperimentState bookmarks_experiment_state =
43 static_cast<BookmarksExperimentState>(user_prefs->GetInteger( 43 static_cast<BookmarksExperimentState>(user_prefs->GetInteger(
44 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled)); 44 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled));
45 if (bookmarks_experiment_state == kBookmarksExperimentEnabledFromFinch) { 45 if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED_FROM_FINCH) {
46 *extension_id = GetEnhancedBookmarksExtensionIdFromFinch(); 46 *extension_id = GetEnhancedBookmarksExtensionIdFromFinch();
47 return !extension_id->empty(); 47 return !extension_id->empty();
48 } 48 }
49 if (bookmarks_experiment_state == kBookmarksExperimentEnabled) { 49 if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED) {
50 *extension_id = user_prefs->GetString( 50 *extension_id = user_prefs->GetString(
51 sync_driver::prefs::kEnhancedBookmarksExtensionId); 51 sync_driver::prefs::kEnhancedBookmarksExtensionId);
52 return !extension_id->empty(); 52 return !extension_id->empty();
53 } 53 }
54 54
55 return false; 55 return false;
56 } 56 }
57 57
58 void UpdateBookmarksExperimentState( 58 void UpdateBookmarksExperimentState(
59 PrefService* user_prefs, 59 PrefService* user_prefs,
60 PrefService* local_state, 60 PrefService* local_state,
61 bool user_signed_in, 61 bool user_signed_in,
62 BookmarksExperimentState experiment_enabled_from_sync) { 62 BookmarksExperimentState experiment_enabled_from_sync) {
63 PrefService* flags_storage = local_state; 63 PrefService* flags_storage = local_state;
64 #if defined(OS_CHROMEOS) 64 #if defined(OS_CHROMEOS)
65 // Chrome OS is using user prefs for flags storage. 65 // Chrome OS is using user prefs for flags storage.
66 flags_storage = user_prefs; 66 flags_storage = user_prefs;
67 #endif 67 #endif
68 68
69 BookmarksExperimentState bookmarks_experiment_state_before = 69 BookmarksExperimentState bookmarks_experiment_state_before =
70 static_cast<BookmarksExperimentState>(user_prefs->GetInteger( 70 static_cast<BookmarksExperimentState>(user_prefs->GetInteger(
71 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled)); 71 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled));
72 // If user signed out, clear possible previous state. 72 // If user signed out, clear possible previous state.
73 if (!user_signed_in) { 73 if (!user_signed_in) {
74 bookmarks_experiment_state_before = kNoBookmarksExperiment; 74 bookmarks_experiment_state_before = BOOKMARKS_EXPERIMENT_NONE;
75 ForceFinchBookmarkExperimentIfNeeded(flags_storage, kNoBookmarksExperiment); 75 ForceFinchBookmarkExperimentIfNeeded(flags_storage,
76 BOOKMARKS_EXPERIMENT_NONE);
76 } 77 }
77 78
78 // kEnhancedBookmarksExperiment flag could have values "", "1" and "0". 79 // kEnhancedBookmarksExperiment flag could have values "", "1" and "0".
79 // "0" - user opted out. 80 // "0" - user opted out.
80 bool opt_out = CommandLine::ForCurrentProcess()->GetSwitchValueASCII( 81 bool opt_out = CommandLine::ForCurrentProcess()->GetSwitchValueASCII(
81 switches::kEnhancedBookmarksExperiment) == "0"; 82 switches::kEnhancedBookmarksExperiment) == "0";
82 83
83 BookmarksExperimentState bookmarks_experiment_new_state = 84 BookmarksExperimentState bookmarks_experiment_new_state =
84 kNoBookmarksExperiment; 85 BOOKMARKS_EXPERIMENT_NONE;
85 86
86 if (IsEnhancedBookmarksExperimentEnabledFromFinch() && !user_signed_in) { 87 if (IsEnhancedBookmarksExperimentEnabledFromFinch() && !user_signed_in) {
87 if (opt_out) { 88 if (opt_out) {
88 // Experiment enabled but user opted out. 89 // Experiment enabled but user opted out.
89 bookmarks_experiment_new_state = kBookmarksExperimentOptOutFromFinch; 90 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_OPT_OUT_FROM_FINCH;
90 } else { 91 } else {
91 // Experiment enabled. 92 // Experiment enabled.
92 bookmarks_experiment_new_state = kBookmarksExperimentEnabledFromFinch; 93 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED_FROM_FINCH;
93 } 94 }
94 } else if (experiment_enabled_from_sync == kBookmarksExperimentEnabled) { 95 } else if (experiment_enabled_from_sync == BOOKMARKS_EXPERIMENT_ENABLED) {
95 // Experiment enabled from Chrome sync. 96 // Experiment enabled from Chrome sync.
96 if (opt_out) { 97 if (opt_out) {
97 // Experiment enabled but user opted out. 98 // Experiment enabled but user opted out.
98 bookmarks_experiment_new_state = kBookmarksExperimentEnabledUserOptOut; 99 bookmarks_experiment_new_state =
100 BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT;
99 } else { 101 } else {
100 // Experiment enabled. 102 // Experiment enabled.
101 bookmarks_experiment_new_state = kBookmarksExperimentEnabled; 103 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
102 } 104 }
103 } else if (experiment_enabled_from_sync == kNoBookmarksExperiment) { 105 } else if (experiment_enabled_from_sync == BOOKMARKS_EXPERIMENT_NONE) {
104 // Experiment is not enabled from Chrome sync. 106 // Experiment is not enabled from Chrome sync.
105 bookmarks_experiment_new_state = kNoBookmarksExperiment; 107 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_NONE;
106 } else if (bookmarks_experiment_state_before == kBookmarksExperimentEnabled) { 108 } else if (bookmarks_experiment_state_before ==
109 BOOKMARKS_EXPERIMENT_ENABLED) {
107 if (opt_out) { 110 if (opt_out) {
108 // Experiment enabled but user opted out. 111 // Experiment enabled but user opted out.
109 bookmarks_experiment_new_state = kBookmarksExperimentEnabledUserOptOut; 112 bookmarks_experiment_new_state =
113 BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT;
110 } else { 114 } else {
111 bookmarks_experiment_new_state = kBookmarksExperimentEnabled; 115 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
112 } 116 }
113 } else if (bookmarks_experiment_state_before == 117 } else if (bookmarks_experiment_state_before ==
114 kBookmarksExperimentEnabledUserOptOut) { 118 BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT) {
115 if (opt_out) { 119 if (opt_out) {
116 bookmarks_experiment_new_state = kBookmarksExperimentEnabledUserOptOut; 120 bookmarks_experiment_new_state =
121 BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT;
117 } else { 122 } else {
118 // User opted in again. 123 // User opted in again.
119 bookmarks_experiment_new_state = kBookmarksExperimentEnabled; 124 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
120 } 125 }
121 } 126 }
122 127
123 UMA_HISTOGRAM_ENUMERATION("EnhancedBookmarks.SyncExperimentState", 128 UMA_HISTOGRAM_ENUMERATION("EnhancedBookmarks.SyncExperimentState",
124 bookmarks_experiment_new_state, 129 bookmarks_experiment_new_state,
125 kBookmarksExperimentEnumSize); 130 BOOKMARKS_EXPERIMENT_ENUM_SIZE);
126 user_prefs->SetInteger( 131 user_prefs->SetInteger(
127 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled, 132 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled,
128 bookmarks_experiment_new_state); 133 bookmarks_experiment_new_state);
129 ForceFinchBookmarkExperimentIfNeeded(flags_storage, 134 ForceFinchBookmarkExperimentIfNeeded(flags_storage,
130 bookmarks_experiment_new_state); 135 bookmarks_experiment_new_state);
131 } 136 }
132 137
133 void ForceFinchBookmarkExperimentIfNeeded( 138 void ForceFinchBookmarkExperimentIfNeeded(
134 PrefService* flags_storage, 139 PrefService* flags_storage,
135 BookmarksExperimentState bookmarks_experiment_state) { 140 BookmarksExperimentState bookmarks_experiment_state) {
136 if (!flags_storage) 141 if (!flags_storage)
137 return; 142 return;
138 ListPrefUpdate update(flags_storage, prefs::kEnabledLabsExperiments); 143 ListPrefUpdate update(flags_storage, prefs::kEnabledLabsExperiments);
139 base::ListValue* experiments_list = update.Get(); 144 base::ListValue* experiments_list = update.Get();
140 if (!experiments_list) 145 if (!experiments_list)
141 return; 146 return;
142 size_t index; 147 size_t index;
143 if (bookmarks_experiment_state == kNoBookmarksExperiment) { 148 if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_NONE) {
144 experiments_list->Remove( 149 experiments_list->Remove(
145 base::StringValue(switches::kManualEnhancedBookmarks), &index); 150 base::StringValue(switches::kManualEnhancedBookmarks), &index);
146 experiments_list->Remove( 151 experiments_list->Remove(
147 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index); 152 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index);
148 } else if (bookmarks_experiment_state == kBookmarksExperimentEnabled) { 153 } else if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED) {
149 experiments_list->Remove( 154 experiments_list->Remove(
150 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index); 155 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index);
151 experiments_list->AppendIfNotPresent( 156 experiments_list->AppendIfNotPresent(
152 new base::StringValue(switches::kManualEnhancedBookmarks)); 157 new base::StringValue(switches::kManualEnhancedBookmarks));
153 } else if (bookmarks_experiment_state == 158 } else if (bookmarks_experiment_state ==
154 kBookmarksExperimentEnabledUserOptOut) { 159 BOOKMARKS_EXPERIMENT_ENABLED_USER_OPT_OUT) {
155 experiments_list->Remove( 160 experiments_list->Remove(
156 base::StringValue(switches::kManualEnhancedBookmarks), &index); 161 base::StringValue(switches::kManualEnhancedBookmarks), &index);
157 experiments_list->AppendIfNotPresent( 162 experiments_list->AppendIfNotPresent(
158 new base::StringValue(switches::kManualEnhancedBookmarksOptout)); 163 new base::StringValue(switches::kManualEnhancedBookmarksOptout));
159 } 164 }
160 } 165 }
161 166
162 bool IsEnhancedBookmarksExperimentEnabled() { 167 bool IsEnhancedBookmarksExperimentEnabled() {
163 CommandLine* command_line = CommandLine::ForCurrentProcess(); 168 CommandLine* command_line = CommandLine::ForCurrentProcess();
164 if (command_line->HasSwitch(switches::kManualEnhancedBookmarks) || 169 if (command_line->HasSwitch(switches::kManualEnhancedBookmarks) ||
(...skipping 20 matching lines...) Expand all
185 if (CommandLine::ForCurrentProcess()-> 190 if (CommandLine::ForCurrentProcess()->
186 HasSwitch(switches::kEnableSyncArticles)) { 191 HasSwitch(switches::kEnableSyncArticles)) {
187 return true; 192 return true;
188 } 193 }
189 if (chrome_variations::GetVariationParamValue( 194 if (chrome_variations::GetVariationParamValue(
190 kFieldTrialName, "enable-sync-articles") == "1") 195 kFieldTrialName, "enable-sync-articles") == "1")
191 return true; 196 return true;
192 197
193 return false; 198 return false;
194 } 199 }
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/enhanced_bookmarks_features.h ('k') | chrome/browser/extensions/external_component_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698