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

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 = NO_BOOKMARKS_EXPERIMENT;
75 ForceFinchBookmarkExperimentIfNeeded(flags_storage, kNoBookmarksExperiment); 75 ForceFinchBookmarkExperimentIfNeeded(flags_storage,
76 NO_BOOKMARKS_EXPERIMENT);
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 NO_BOOKMARKS_EXPERIMENT;
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_OPTOUT_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 = BOOKMARKS_EXPERIMENT_ENABLED_USER_OPTOUT;
99 } else { 100 } else {
100 // Experiment enabled. 101 // Experiment enabled.
101 bookmarks_experiment_new_state = kBookmarksExperimentEnabled; 102 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
102 } 103 }
103 } else if (experiment_enabled_from_sync == kNoBookmarksExperiment) { 104 } else if (experiment_enabled_from_sync == NO_BOOKMARKS_EXPERIMENT) {
104 // Experiment is not enabled from Chrome sync. 105 // Experiment is not enabled from Chrome sync.
105 bookmarks_experiment_new_state = kNoBookmarksExperiment; 106 bookmarks_experiment_new_state = NO_BOOKMARKS_EXPERIMENT;
106 } else if (bookmarks_experiment_state_before == kBookmarksExperimentEnabled) { 107 } else if (bookmarks_experiment_state_before ==
108 BOOKMARKS_EXPERIMENT_ENABLED) {
107 if (opt_out) { 109 if (opt_out) {
108 // Experiment enabled but user opted out. 110 // Experiment enabled but user opted out.
109 bookmarks_experiment_new_state = kBookmarksExperimentEnabledUserOptOut; 111 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED_USER_OPTOUT;
110 } else { 112 } else {
111 bookmarks_experiment_new_state = kBookmarksExperimentEnabled; 113 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
112 } 114 }
113 } else if (bookmarks_experiment_state_before == 115 } else if (bookmarks_experiment_state_before ==
114 kBookmarksExperimentEnabledUserOptOut) { 116 BOOKMARKS_EXPERIMENT_ENABLED_USER_OPTOUT) {
115 if (opt_out) { 117 if (opt_out) {
116 bookmarks_experiment_new_state = kBookmarksExperimentEnabledUserOptOut; 118 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED_USER_OPTOUT;
117 } else { 119 } else {
118 // User opted in again. 120 // User opted in again.
119 bookmarks_experiment_new_state = kBookmarksExperimentEnabled; 121 bookmarks_experiment_new_state = BOOKMARKS_EXPERIMENT_ENABLED;
120 } 122 }
121 } 123 }
122 124
123 UMA_HISTOGRAM_ENUMERATION("EnhancedBookmarks.SyncExperimentState", 125 UMA_HISTOGRAM_ENUMERATION("EnhancedBookmarks.SyncExperimentState",
124 bookmarks_experiment_new_state, 126 bookmarks_experiment_new_state,
125 kBookmarksExperimentEnumSize); 127 BOOKMARKS_EXPERIMENT_ENUM_SIZE);
126 user_prefs->SetInteger( 128 user_prefs->SetInteger(
127 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled, 129 sync_driver::prefs::kEnhancedBookmarksExperimentEnabled,
128 bookmarks_experiment_new_state); 130 bookmarks_experiment_new_state);
129 ForceFinchBookmarkExperimentIfNeeded(flags_storage, 131 ForceFinchBookmarkExperimentIfNeeded(flags_storage,
130 bookmarks_experiment_new_state); 132 bookmarks_experiment_new_state);
131 } 133 }
132 134
133 void ForceFinchBookmarkExperimentIfNeeded( 135 void ForceFinchBookmarkExperimentIfNeeded(
134 PrefService* flags_storage, 136 PrefService* flags_storage,
135 BookmarksExperimentState bookmarks_experiment_state) { 137 BookmarksExperimentState bookmarks_experiment_state) {
136 if (!flags_storage) 138 if (!flags_storage)
137 return; 139 return;
138 ListPrefUpdate update(flags_storage, prefs::kEnabledLabsExperiments); 140 ListPrefUpdate update(flags_storage, prefs::kEnabledLabsExperiments);
139 base::ListValue* experiments_list = update.Get(); 141 base::ListValue* experiments_list = update.Get();
140 if (!experiments_list) 142 if (!experiments_list)
141 return; 143 return;
142 size_t index; 144 size_t index;
143 if (bookmarks_experiment_state == kNoBookmarksExperiment) { 145 if (bookmarks_experiment_state == NO_BOOKMARKS_EXPERIMENT) {
144 experiments_list->Remove( 146 experiments_list->Remove(
145 base::StringValue(switches::kManualEnhancedBookmarks), &index); 147 base::StringValue(switches::kManualEnhancedBookmarks), &index);
146 experiments_list->Remove( 148 experiments_list->Remove(
147 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index); 149 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index);
148 } else if (bookmarks_experiment_state == kBookmarksExperimentEnabled) { 150 } else if (bookmarks_experiment_state == BOOKMARKS_EXPERIMENT_ENABLED) {
149 experiments_list->Remove( 151 experiments_list->Remove(
150 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index); 152 base::StringValue(switches::kManualEnhancedBookmarksOptout), &index);
151 experiments_list->AppendIfNotPresent( 153 experiments_list->AppendIfNotPresent(
152 new base::StringValue(switches::kManualEnhancedBookmarks)); 154 new base::StringValue(switches::kManualEnhancedBookmarks));
153 } else if (bookmarks_experiment_state == 155 } else if (bookmarks_experiment_state ==
154 kBookmarksExperimentEnabledUserOptOut) { 156 BOOKMARKS_EXPERIMENT_ENABLED_USER_OPTOUT) {
155 experiments_list->Remove( 157 experiments_list->Remove(
156 base::StringValue(switches::kManualEnhancedBookmarks), &index); 158 base::StringValue(switches::kManualEnhancedBookmarks), &index);
157 experiments_list->AppendIfNotPresent( 159 experiments_list->AppendIfNotPresent(
158 new base::StringValue(switches::kManualEnhancedBookmarksOptout)); 160 new base::StringValue(switches::kManualEnhancedBookmarksOptout));
159 } 161 }
160 } 162 }
161 163
162 bool IsEnhancedBookmarksExperimentEnabled() { 164 bool IsEnhancedBookmarksExperimentEnabled() {
163 CommandLine* command_line = CommandLine::ForCurrentProcess(); 165 CommandLine* command_line = CommandLine::ForCurrentProcess();
164 if (command_line->HasSwitch(switches::kManualEnhancedBookmarks) || 166 if (command_line->HasSwitch(switches::kManualEnhancedBookmarks) ||
(...skipping 20 matching lines...) Expand all
185 if (CommandLine::ForCurrentProcess()-> 187 if (CommandLine::ForCurrentProcess()->
186 HasSwitch(switches::kEnableSyncArticles)) { 188 HasSwitch(switches::kEnableSyncArticles)) {
187 return true; 189 return true;
188 } 190 }
189 if (chrome_variations::GetVariationParamValue( 191 if (chrome_variations::GetVariationParamValue(
190 kFieldTrialName, "enable-sync-articles") == "1") 192 kFieldTrialName, "enable-sync-articles") == "1")
191 return true; 193 return true;
192 194
193 return false; 195 return false;
194 } 196 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698