Index: chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
index a61205c68f497521b10264ad1928a8916657c9df..a5b07c8e7345bdf088c3cfc39650790291f11e44 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/oobe_ui.cc |
@@ -4,6 +4,8 @@ |
#include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" |
+#include "base/bind.h" |
+#include "base/bind_helpers.h" |
#include "base/command_line.h" |
#include "base/logging.h" |
#include "base/strings/stringprintf.h" |
@@ -17,6 +19,7 @@ |
#include "chrome/browser/chromeos/login/wizard_controller.h" |
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
#include "chrome/browser/chromeos/policy/consumer_management_service.h" |
+#include "chrome/browser/chromeos/settings/cros_settings.h" |
#include "chrome/browser/chromeos/system/input_device_settings.h" |
#include "chrome/browser/extensions/signin/gaia_auth_extension_loader.h" |
#include "chrome/browser/extensions/tab_helper.h" |
@@ -564,6 +567,20 @@ void OobeUI::InitializeHandlers() { |
} |
} |
+void OobeUI::InitShutdownPolicyObserver() { |
+ // Instantiate the ShutdownPolicyObserver. |
+ shutdown_policy_observer_.reset( |
+ new ShutdownPolicyObserver(CrosSettings::Get(), this)); |
+ |
+ // Trigger an initial update. |
+ shutdown_policy_observer_->CheckIfRebootOnShutdown( |
+ base::Bind(&OobeUI::OnShutdownPolicyChanged, base::Unretained(this))); |
+} |
+ |
+void OobeUI::OnShutdownPolicyChanged(bool reboot_on_shutdown) { |
+ core_handler_->UpdateShutdownButtonVisibility(!reboot_on_shutdown); |
+} |
+ |
void OobeUI::OnScreenAssetsLoaded(const std::string& async_assets_load_id) { |
DCHECK(!async_assets_load_id.empty()); |