Index: chrome/browser/ui/webui/chromeos/login/oobe_ui.h |
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.h b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h |
index b8ad9ca9e125fc1c9cf3955dbfa75e09ae3f728c..4938be597725e51c832fe4b78196e15a2cb49f32 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.h |
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.h |
@@ -15,6 +15,7 @@ |
#include "base/observer_list.h" |
#include "chrome/browser/chromeos/login/ui/oobe_display.h" |
#include "chrome/browser/ui/webui/chromeos/login/core_oobe_handler.h" |
+#include "chrome/browser/ui/webui/chromeos/login/shutdown_policy_observer.h" |
#include "content/public/browser/web_ui_controller.h" |
namespace base { |
@@ -46,7 +47,8 @@ class UpdateScreenHandler; |
// - update screen. |
class OobeUI : public OobeDisplay, |
public content::WebUIController, |
- public CoreOobeHandler::Delegate { |
+ public CoreOobeHandler::Delegate, |
+ public ShutdownPolicyObserver::Delegate { |
public: |
class Observer { |
public: |
@@ -125,6 +127,12 @@ class OobeUI : public OobeDisplay, |
DeviceDisabledScreenActor* GetDeviceDisabledScreenActor() override; |
virtual GaiaScreenHandler* GetGaiaScreenActor() override; |
+ // Override from ShutdownPolicyObserver::Delegate. |
+ virtual void OnShutdownPolicyChanged(bool reboot_on_shutdown) override; |
+ |
+ // Initializes ShutdownPolicyObserver and triggers an initial update. |
+ void InitShutdownPolicyObserver(); |
+ |
// Collects localized strings from the owned handlers. |
void GetLocalizedStrings(base::DictionaryValue* localized_strings); |
@@ -252,6 +260,9 @@ class OobeUI : public OobeDisplay, |
// List of registered observers. |
ObserverList<Observer> observer_list_; |
+ // Observer of CrosSettings watching the kShutdownAllowed policy. |
+ scoped_ptr<ShutdownPolicyObserver> shutdown_policy_observer_; |
+ |
DISALLOW_COPY_AND_ASSIGN(OobeUI); |
}; |