1// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_STATS_OPTIONS_HANDLER_H_ 6#define CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_STATS_OPTIONS_HANDLER_H_ 7#pragma once 8 9#include "chrome/browser/ui/webui/options/chromeos/cros_options_page_ui_handler.h" 10 11namespace chromeos { 12 13class MetricsCrosSettingsProvider; 14 15// ChromeOS handler for "Stats/crash reporting to Google" option of the Advanced 16// settings page. This handler does only ChromeOS-specific actions while default 17// code is in Chrome's AdvancedOptionsHandler 18// (chrome/browser/webui/advanced_options_handler.cc). 19class StatsOptionsHandler : public CrosOptionsPageUIHandler { 20 public: 21 StatsOptionsHandler(); 22 23 // OptionsPageUIHandler implementation. 24 virtual void GetLocalizedValues(DictionaryValue* localized_strings); 25 virtual void Initialize(); 26 27 // WebUIMessageHandler implementation. 28 virtual void RegisterMessages(); 29 30 private: 31 MetricsCrosSettingsProvider* provider() const; 32 void HandleMetricsReportingCheckbox(const ListValue* args); 33 void SetupMetricsReportingCheckbox(bool user_changed); 34 35 DISALLOW_COPY_AND_ASSIGN(StatsOptionsHandler); 36}; 37 38} // namespace chromeos 39 40#endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CHROMEOS_STATS_OPTIONS_HANDLER_H_ 41