Index: chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen.cc |
diff --git a/chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen.cc b/chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen.cc |
index 16663bbd52c59ec530fe6f8915e1f0ac8d1a5453..c9e087e78c8e248d789d66d6811253f1247aa6d0 100644 |
--- a/chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen.cc |
+++ b/chrome/browser/chromeos/login/enrollment/enterprise_enrollment_screen.cc |
@@ -11,6 +11,8 @@ |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/chromeos/cros/cros_library.h" |
#include "chrome/browser/chromeos/cros/cryptohome_library.h" |
+#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h" |
+#include "chrome/browser/chromeos/dbus/session_manager_client.h" |
#include "chrome/browser/chromeos/login/authenticator.h" |
#include "chrome/browser/chromeos/login/screen_observer.h" |
#include "chrome/browser/policy/auto_enrollment_client.h" |
@@ -78,6 +80,15 @@ void EnterpriseEnrollmentScreen::OnOAuthTokenAvailable( |
} |
void EnterpriseEnrollmentScreen::OnConfirmationClosed(bool go_back_to_signin) { |
+ // If the machine has been put in KIOSK mode we have to restart the session |
+ // here to go in the proper KIOSK mode login screen. |
+ if (g_browser_process->browser_policy_connector()-> |
+ GetDeviceCloudPolicyDataStore()->device_mode() == |
Joao da Silva
2012/03/28 11:36:37
How about just browser_policy_connector()->GetDevi
pastarmovj
2012/03/28 11:43:15
They must have the right value if registration has
|
+ policy::DEVICE_MODE_KIOSK) { |
+ DBusThreadManager::Get()->GetSessionManagerClient()->StopSession(); |
+ return; |
+ } |
+ |
get_screen_observer()->OnExit(go_back_to_signin ? |
ScreenObserver::ENTERPRISE_ENROLLMENT_COMPLETED : |
ScreenObserver::ENTERPRISE_AUTO_MAGIC_ENROLLMENT_COMPLETED); |