| Index: chrome/browser/chromeos/login/enrollment/enrollment_screen.cc
|
| diff --git a/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc b/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc
|
| index 2376f691086bc2ca4c3535718af3a9b227d13c08..ee08d9c854280f997194d4f073008023401461bf 100644
|
| --- a/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc
|
| +++ b/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc
|
| @@ -20,6 +20,7 @@
|
| #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
|
| #include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h"
|
| #include "chrome/browser/chromeos/profiles/profile_helper.h"
|
| +#include "chrome/browser/lifetime/application_lifetime.h"
|
| #include "chromeos/dbus/cryptohome_client.h"
|
| #include "chromeos/dbus/dbus_method_call_status.h"
|
| #include "chromeos/dbus/dbus_thread_manager.h"
|
| @@ -248,6 +249,16 @@ void EnrollmentScreen::OnCancel() {
|
| void EnrollmentScreen::OnConfirmationClosed() {
|
| ClearAuth(base::Bind(&EnrollmentScreen::Finish, base::Unretained(this),
|
| ScreenExitCode::ENTERPRISE_ENROLLMENT_COMPLETED));
|
| + // Restart browser to switch from DeviceCloudPolicyManagerChromeOS to
|
| + // DeviceActiveDirectoryPolicyManager.
|
| + if (g_browser_process->platform_part()
|
| + ->browser_policy_connector_chromeos()
|
| + ->IsActiveDirectoryManaged()) {
|
| + // TODO(tnagel): Refactor BrowserPolicyConnectorChromeOS so that device
|
| + // policy providers are only registered after enrollment has finished and
|
| + // thus the correct one can be picked without restarting the browser.
|
| + chrome::AttemptRestart();
|
| + }
|
| }
|
|
|
| void EnrollmentScreen::OnAdJoined(const std::string& realm) {
|
|
|