• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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