diff options
Diffstat (limited to 'chrome/browser/ui/webui/options2/chromeos/stats_options_handler.cc')
-rw-r--r-- | chrome/browser/ui/webui/options2/chromeos/stats_options_handler.cc | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/chrome/browser/ui/webui/options2/chromeos/stats_options_handler.cc b/chrome/browser/ui/webui/options2/chromeos/stats_options_handler.cc new file mode 100644 index 0000000..610b01a --- /dev/null +++ b/chrome/browser/ui/webui/options2/chromeos/stats_options_handler.cc @@ -0,0 +1,47 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/ui/webui/options2/chromeos/stats_options_handler.h" + +#include "base/bind.h" +#include "base/bind_helpers.h" +#include "base/utf_string_conversions.h" +#include "base/values.h" +#include "content/public/browser/user_metrics.h" + +using content::UserMetricsAction; + +namespace chromeos { + +StatsOptionsHandler::StatsOptionsHandler() { +} + +// OptionsPageUIHandler implementation. +void StatsOptionsHandler::GetLocalizedValues( + DictionaryValue* localized_strings) { +} + +void StatsOptionsHandler::Initialize() { +} + +// WebUIMessageHandler implementation. +void StatsOptionsHandler::RegisterMessages() { + web_ui_->RegisterMessageCallback("metricsReportingCheckboxAction", + base::Bind(&StatsOptionsHandler::HandleMetricsReportingCheckbox, + base::Unretained(this))); +} + +void StatsOptionsHandler::HandleMetricsReportingCheckbox( + const ListValue* args) { +#if defined(GOOGLE_CHROME_BUILD) + const std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); + const bool enabled = (checked_str == "true"); + content::RecordAction( + enabled ? + UserMetricsAction("Options_MetricsReportingCheckbox_Enable") : + UserMetricsAction("Options_MetricsReportingCheckbox_Disable")); +#endif +} + +} // namespace chromeos |