Index: chrome/browser/ui/webui/metrics_handler.cc |
diff --git a/chrome/browser/ui/webui/metrics_handler.cc b/chrome/browser/ui/webui/metrics_handler.cc |
index efbb8e111f83953e1881da2ba2955f63b0b0083e..ae9fdb74e0284ee3ee6b477b09ea6d5818f68916 100644 |
--- a/chrome/browser/ui/webui/metrics_handler.cc |
+++ b/chrome/browser/ui/webui/metrics_handler.cc |
@@ -34,6 +34,10 @@ void MetricsHandler::RegisterMessages() { |
base::Bind(&MetricsHandler::HandleRecordInHistogram, |
base::Unretained(this))); |
web_ui()->RegisterMessageCallback( |
+ "metricsHandler:recordBooleanHistogram", |
+ base::Bind(&MetricsHandler::HandleRecordBooleanHistogram, |
+ base::Unretained(this))); |
+ web_ui()->RegisterMessageCallback( |
"metricsHandler:recordTime", |
base::Bind(&MetricsHandler::HandleRecordTime, base::Unretained(this))); |
web_ui()->RegisterMessageCallback( |
@@ -80,6 +84,19 @@ void MetricsHandler::HandleRecordInHistogram(const base::ListValue* args) { |
counter->Add(int_value); |
} |
+void MetricsHandler::HandleRecordBooleanHistogram(const base::ListValue* args) { |
+ std::string histogram_name; |
+ bool value; |
+ if (!args->GetString(0, &histogram_name) || !args->GetBoolean(1, &value)) { |
+ NOTREACHED(); |
+ return; |
+ } |
+ |
+ base::HistogramBase* counter = base::BooleanHistogram::FactoryGet( |
+ histogram_name, base::HistogramBase::kUmaTargetedHistogramFlag); |
+ counter->AddBoolean(value); |
+} |
+ |
void MetricsHandler::HandleRecordTime(const base::ListValue* args) { |
std::string histogram_name; |
double value; |