OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef IOS_CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ | 5 #ifndef IOS_CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ |
6 #define IOS_CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ | 6 #define IOS_CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "base/memory/weak_ptr.h" | 9 #include "base/memory/weak_ptr.h" |
10 #include "ios/web/public/webui/web_ui_ios_controller.h" | 10 #include "ios/web/public/webui/web_ui_ios_controller.h" |
11 | 11 |
12 class BaseFlagsUI : public web::WebUIIOSController { | 12 class FlagsUI : public web::WebUIIOSController { |
13 public: | |
14 enum FlagsUIKind { | |
15 FLAGS_UI_GENERIC, | |
16 FLAGS_UI_APPLE, | |
17 }; | |
18 | |
19 BaseFlagsUI(web::WebUIIOS* web_ui, FlagsUIKind flags_ui_kind); | |
20 ~BaseFlagsUI() override; | |
21 | |
22 private: | |
23 void Initialize(web::WebUIIOS* web_ui, FlagsUIKind flags_ui_kind); | |
24 | |
25 base::WeakPtrFactory<BaseFlagsUI> weak_factory_; | |
26 | |
27 DISALLOW_COPY_AND_ASSIGN(BaseFlagsUI); | |
28 }; | |
29 | |
30 class FlagsUI : public BaseFlagsUI { | |
31 public: | 13 public: |
32 explicit FlagsUI(web::WebUIIOS* web_ui); | 14 explicit FlagsUI(web::WebUIIOS* web_ui); |
33 ~FlagsUI() override; | 15 ~FlagsUI() override; |
34 | 16 |
35 private: | 17 private: |
| 18 base::WeakPtrFactory<FlagsUI> weak_factory_; |
36 DISALLOW_COPY_AND_ASSIGN(FlagsUI); | 19 DISALLOW_COPY_AND_ASSIGN(FlagsUI); |
37 }; | 20 }; |
38 | 21 |
39 class AppleFlagsUI : public BaseFlagsUI { | |
40 public: | |
41 explicit AppleFlagsUI(web::WebUIIOS* web_ui); | |
42 ~AppleFlagsUI() override; | |
43 | |
44 private: | |
45 DISALLOW_COPY_AND_ASSIGN(AppleFlagsUI); | |
46 }; | |
47 | |
48 #endif // IOS_CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ | 22 #endif // IOS_CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ |
OLD | NEW |