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 11 namespace chromeos { 12 13 class 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). 19 class 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