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 f5b212372a8735c4eb02f3c1da45575404f83d26..21fcb2cb0bb5e8480b5fb4513565ad5b48790884 100644 |
--- a/chrome/browser/ui/webui/metrics_handler.cc |
+++ b/chrome/browser/ui/webui/metrics_handler.cc |
@@ -32,6 +32,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( |
@@ -78,6 +82,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; |