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

Side by Side Diff: chrome/browser/ui/webui/metrics_handler.cc

Issue 2716333002: Implement important sites dialog for desktop. (Closed)
Patch Set: add using declaration Created 3 years, 8 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/metrics_handler.h" 5 #include "chrome/browser/ui/webui/metrics_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram_macros.h" 10 #include "base/metrics/histogram_macros.h"
(...skipping 16 matching lines...) Expand all
27 27
28 void MetricsHandler::RegisterMessages() { 28 void MetricsHandler::RegisterMessages() {
29 web_ui()->RegisterMessageCallback( 29 web_ui()->RegisterMessageCallback(
30 "metricsHandler:recordAction", 30 "metricsHandler:recordAction",
31 base::Bind(&MetricsHandler::HandleRecordAction, base::Unretained(this))); 31 base::Bind(&MetricsHandler::HandleRecordAction, base::Unretained(this)));
32 web_ui()->RegisterMessageCallback( 32 web_ui()->RegisterMessageCallback(
33 "metricsHandler:recordInHistogram", 33 "metricsHandler:recordInHistogram",
34 base::Bind(&MetricsHandler::HandleRecordInHistogram, 34 base::Bind(&MetricsHandler::HandleRecordInHistogram,
35 base::Unretained(this))); 35 base::Unretained(this)));
36 web_ui()->RegisterMessageCallback( 36 web_ui()->RegisterMessageCallback(
37 "metricsHandler:recordBooleanHistogram",
38 base::Bind(&MetricsHandler::HandleRecordBooleanHistogram,
39 base::Unretained(this)));
40 web_ui()->RegisterMessageCallback(
37 "metricsHandler:recordTime", 41 "metricsHandler:recordTime",
38 base::Bind(&MetricsHandler::HandleRecordTime, base::Unretained(this))); 42 base::Bind(&MetricsHandler::HandleRecordTime, base::Unretained(this)));
39 web_ui()->RegisterMessageCallback( 43 web_ui()->RegisterMessageCallback(
40 "metricsHandler:logEventTime", 44 "metricsHandler:logEventTime",
41 base::Bind(&MetricsHandler::HandleLogEventTime, base::Unretained(this))); 45 base::Bind(&MetricsHandler::HandleLogEventTime, base::Unretained(this)));
42 } 46 }
43 47
44 void MetricsHandler::HandleRecordAction(const base::ListValue* args) { 48 void MetricsHandler::HandleRecordAction(const base::ListValue* args) {
45 std::string string_action = base::UTF16ToUTF8(ExtractStringValue(args)); 49 std::string string_action = base::UTF16ToUTF8(ExtractStringValue(args));
46 base::RecordComputedAction(string_action); 50 base::RecordComputedAction(string_action);
(...skipping 26 matching lines...) Expand all
73 77
74 // As |histogram_name| may change between calls, the UMA_HISTOGRAM_ENUMERATION 78 // As |histogram_name| may change between calls, the UMA_HISTOGRAM_ENUMERATION
75 // macro cannot be used here. 79 // macro cannot be used here.
76 base::HistogramBase* counter = 80 base::HistogramBase* counter =
77 base::LinearHistogram::FactoryGet( 81 base::LinearHistogram::FactoryGet(
78 histogram_name, 1, int_boundary_value, bucket_count + 1, 82 histogram_name, 1, int_boundary_value, bucket_count + 1,
79 base::HistogramBase::kUmaTargetedHistogramFlag); 83 base::HistogramBase::kUmaTargetedHistogramFlag);
80 counter->Add(int_value); 84 counter->Add(int_value);
81 } 85 }
82 86
87 void MetricsHandler::HandleRecordBooleanHistogram(const base::ListValue* args) {
88 std::string histogram_name;
89 bool value;
90 if (!args->GetString(0, &histogram_name) || !args->GetBoolean(1, &value)) {
91 NOTREACHED();
92 return;
93 }
94
95 base::HistogramBase* counter = base::BooleanHistogram::FactoryGet(
96 histogram_name, base::HistogramBase::kUmaTargetedHistogramFlag);
97 counter->AddBoolean(value);
98 }
99
83 void MetricsHandler::HandleRecordTime(const base::ListValue* args) { 100 void MetricsHandler::HandleRecordTime(const base::ListValue* args) {
84 std::string histogram_name; 101 std::string histogram_name;
85 double value; 102 double value;
86 103
87 if (!args->GetString(0, &histogram_name) || 104 if (!args->GetString(0, &histogram_name) ||
88 !args->GetDouble(1, &value) || 105 !args->GetDouble(1, &value) ||
89 value < 0) { 106 value < 0) {
90 NOTREACHED(); 107 NOTREACHED();
91 return; 108 return;
92 } 109 }
(...skipping 26 matching lines...) Expand all
119 UMA_HISTOGRAM_TIMES("Tab.NewTabDOMContentLoaded", duration); 136 UMA_HISTOGRAM_TIMES("Tab.NewTabDOMContentLoaded", duration);
120 } else if (event_name == "Tab.NewTabOnload") { 137 } else if (event_name == "Tab.NewTabOnload") {
121 UMA_HISTOGRAM_TIMES("Tab.NewTabOnload", duration); 138 UMA_HISTOGRAM_TIMES("Tab.NewTabOnload", duration);
122 // The new tab page has finished loading; reset it. 139 // The new tab page has finished loading; reset it.
123 CoreTabHelper* core_tab_helper = CoreTabHelper::FromWebContents(tab); 140 CoreTabHelper* core_tab_helper = CoreTabHelper::FromWebContents(tab);
124 core_tab_helper->set_new_tab_start_time(base::TimeTicks()); 141 core_tab_helper->set_new_tab_start_time(base::TimeTicks());
125 } else { 142 } else {
126 NOTREACHED(); 143 NOTREACHED();
127 } 144 }
128 } 145 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698