| 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 02d11843e4b9e83ad23fd1919b0958699caa7e96..65a08a72820b75cc5ae68e7dc24befaf9727ba46 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; | 
|  |