OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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 CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ |
6 #define CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ |
7 | 7 |
| 8 #include "base/memory/weak_ptr.h" |
8 #include "content/public/browser/web_ui_controller.h" | 9 #include "content/public/browser/web_ui_controller.h" |
9 #include "ui/base/layout.h" | 10 #include "ui/base/layout.h" |
10 | 11 |
| 12 #ifdef OS_CHROMEOS |
| 13 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
| 14 #endif |
| 15 |
11 class PrefRegistrySimple; | 16 class PrefRegistrySimple; |
| 17 class PrefRegistrySyncable; |
| 18 class Profile; |
12 | 19 |
13 namespace base { | 20 namespace base { |
14 class RefCountedMemory; | 21 class RefCountedMemory; |
15 } | 22 } |
16 | 23 |
17 class FlagsUI : public content::WebUIController { | 24 class FlagsUI : public content::WebUIController { |
18 public: | 25 public: |
19 explicit FlagsUI(content::WebUI* web_ui); | 26 explicit FlagsUI(content::WebUI* web_ui); |
| 27 virtual ~FlagsUI(); |
20 | 28 |
21 static base::RefCountedMemory* GetFaviconResourceBytes( | 29 static base::RefCountedMemory* GetFaviconResourceBytes( |
22 ui::ScaleFactor scale_factor); | 30 ui::ScaleFactor scale_factor); |
23 static void RegisterPrefs(PrefRegistrySimple* registry); | 31 static void RegisterPrefs(PrefRegistrySimple* registry); |
| 32 #ifdef OS_CHROMEOS |
| 33 static void RegisterUserPrefs(PrefRegistrySyncable* registry); |
| 34 #endif |
24 | 35 |
25 private: | 36 private: |
| 37 #ifdef OS_CHROMEOS |
| 38 // On ChromeOS verifying if the owner is signed in is async operation and only |
| 39 // after finishing it the UI can be properly populated. This function is the |
| 40 // callback for whether the owner is signed in. It will respectively pick the |
| 41 // proper PrefService for the flags interface. |
| 42 void FinishInitialization( |
| 43 Profile* profile, |
| 44 chromeos::DeviceSettingsService::OwnershipStatus status, |
| 45 bool current_user_is_owner); |
| 46 #endif |
| 47 base::WeakPtrFactory<FlagsUI> weak_factory_; |
| 48 |
26 DISALLOW_COPY_AND_ASSIGN(FlagsUI); | 49 DISALLOW_COPY_AND_ASSIGN(FlagsUI); |
27 }; | 50 }; |
28 | 51 |
29 #endif // CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ | 52 #endif // CHROME_BROWSER_UI_WEBUI_FLAGS_UI_H_ |
OLD | NEW |