- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / chromeos / proxy_settings_ui.h
1 // Copyright (c) 2012 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_CHROMEOS_PROXY_SETTINGS_UI_H_
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_PROXY_SETTINGS_UI_H_
7
8 #include "chrome/browser/ui/webui/options/options_ui.h"
9 #include "content/public/browser/web_ui_controller.h"
10
11 namespace chromeos {
12
13 namespace options {
14 class CoreChromeOSOptionsHandler;
15 class ProxyHandler;
16 }
17
18 // A WebUI to host proxy settings splitted from settings page for better
19 // performance.
20 class ProxySettingsUI : public content::WebUIController,
21                         public ::options::OptionsPageUIHandlerHost {
22  public:
23   explicit ProxySettingsUI(content::WebUI* web_ui);
24   virtual ~ProxySettingsUI();
25
26  private:
27   // Overridden from OptionsPageUIHandlerHost:
28   virtual void InitializeHandlers() OVERRIDE;
29
30   bool initialized_handlers_;
31
32   options::ProxyHandler* proxy_handler_;  // Weak ptr.
33   options::CoreChromeOSOptionsHandler* core_handler_; // WeakPtr.
34
35   DISALLOW_COPY_AND_ASSIGN(ProxySettingsUI);
36 };
37
38 }  // namespace chromeos
39
40 #endif  // CHROME_BROWSER_UI_WEBUI_CHROMEOS_PROXY_SETTINGS_UI_H_