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

Side by Side Diff: chrome/browser/ui/webui/options/core_options_handler.cc

Issue 7314020: Update UMA user actions parsing, primarily to include WebUI metrics. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile Created 9 years, 5 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 (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/ui/webui/options/core_options_handler.h" 5 #include "chrome/browser/ui/webui/options/core_options_handler.h"
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/string16.h" 9 #include "base/string16.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 ProcessUserMetric(value, metric); 174 ProcessUserMetric(value, metric);
175 } 175 }
176 176
177 void CoreOptionsHandler::ClearPref(const std::string& pref_name, 177 void CoreOptionsHandler::ClearPref(const std::string& pref_name,
178 const std::string& metric) { 178 const std::string& metric) {
179 PrefService* pref_service = web_ui_->GetProfile()->GetPrefs(); 179 PrefService* pref_service = web_ui_->GetProfile()->GetPrefs();
180 pref_service->ClearPref(pref_name.c_str()); 180 pref_service->ClearPref(pref_name.c_str());
181 pref_service->ScheduleSavePersistentPrefs(); 181 pref_service->ScheduleSavePersistentPrefs();
182 182
183 if (!metric.empty()) 183 if (!metric.empty())
184 UserMetricsRecordAction(UserMetricsAction(metric.c_str())); 184 UserMetrics::RecordComputedAction(metric);
185 } 185 }
186 186
187 void CoreOptionsHandler::ProcessUserMetric(const Value* value, 187 void CoreOptionsHandler::ProcessUserMetric(const Value* value,
188 const std::string& metric) { 188 const std::string& metric) {
189 if (metric.empty()) 189 if (metric.empty())
190 return; 190 return;
191 191
192 std::string metric_string = metric; 192 std::string metric_string = metric;
193 if (value->IsType(Value::TYPE_BOOLEAN)) { 193 if (value->IsType(Value::TYPE_BOOLEAN)) {
194 bool bool_value; 194 bool bool_value;
195 CHECK(value->GetAsBoolean(&bool_value)); 195 CHECK(value->GetAsBoolean(&bool_value));
196 metric_string += bool_value ? "_Enable" : "_Disable"; 196 metric_string += bool_value ? "_Enable" : "_Disable";
197 } 197 }
198 198
199 UserMetricsRecordAction(UserMetricsAction(metric_string.c_str())); 199 UserMetrics::RecordComputedAction(metric_string);
200 } 200 }
201 201
202 void CoreOptionsHandler::StopObservingPref(const std::string& path) { 202 void CoreOptionsHandler::StopObservingPref(const std::string& path) {
203 registrar_.Remove(path.c_str(), this); 203 registrar_.Remove(path.c_str(), this);
204 } 204 }
205 205
206 void CoreOptionsHandler::HandleFetchPrefs(const ListValue* args) { 206 void CoreOptionsHandler::HandleFetchPrefs(const ListValue* args) {
207 // First param is name of callback function, so, there needs to be at least 207 // First param is name of callback function, so, there needs to be at least
208 // one more element for the actual preference identifier. 208 // one more element for the actual preference identifier.
209 DCHECK_GE(static_cast<int>(args->GetSize()), 2); 209 DCHECK_GE(static_cast<int>(args->GetSize()), 2);
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 std::string metric; 339 std::string metric;
340 if (args->GetSize() > 1) 340 if (args->GetSize() > 1)
341 args->GetString(1, &metric); 341 args->GetString(1, &metric);
342 342
343 ClearPref(pref_name, metric); 343 ClearPref(pref_name, metric);
344 } 344 }
345 345
346 void CoreOptionsHandler::HandleUserMetricsAction(const ListValue* args) { 346 void CoreOptionsHandler::HandleUserMetricsAction(const ListValue* args) {
347 std::string metric = UTF16ToUTF8(ExtractStringValue(args)); 347 std::string metric = UTF16ToUTF8(ExtractStringValue(args));
348 if (!metric.empty()) 348 if (!metric.empty())
349 UserMetricsRecordAction(UserMetricsAction(metric.c_str())); 349 UserMetrics::RecordComputedAction(metric);
350 } 350 }
351 351
352 void CoreOptionsHandler::UpdateClearPluginLSOData() { 352 void CoreOptionsHandler::UpdateClearPluginLSOData() {
353 scoped_ptr<Value> enabled( 353 scoped_ptr<Value> enabled(
354 Value::CreateBooleanValue(clear_plugin_lso_data_enabled_.GetValue())); 354 Value::CreateBooleanValue(clear_plugin_lso_data_enabled_.GetValue()));
355 web_ui_->CallJavascriptFunction( 355 web_ui_->CallJavascriptFunction(
356 "OptionsPage.setClearPluginLSODataEnabled", *enabled); 356 "OptionsPage.setClearPluginLSODataEnabled", *enabled);
357 } 357 }
358 358
359 void CoreOptionsHandler::NotifyPrefChanged(const std::string* pref_name) { 359 void CoreOptionsHandler::NotifyPrefChanged(const std::string* pref_name) {
(...skipping 17 matching lines...) Expand all
377 DictionaryValue* dict = new DictionaryValue; 377 DictionaryValue* dict = new DictionaryValue;
378 dict->Set("value", pref->GetValue()->DeepCopy()); 378 dict->Set("value", pref->GetValue()->DeepCopy());
379 dict->SetBoolean("managed", pref->IsManaged()); 379 dict->SetBoolean("managed", pref->IsManaged());
380 result_value.Append(dict); 380 result_value.Append(dict);
381 381
382 web_ui_->CallJavascriptFunction(WideToASCII(callback_function), 382 web_ui_->CallJavascriptFunction(WideToASCII(callback_function),
383 result_value); 383 result_value);
384 } 384 }
385 } 385 }
386 } 386 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698