Home | History | Annotate | Download | only in chromeos
      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