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 053fbf1ed564a04757b2cd43a7499f4030a2c282..dcc5e526fbd1101ecb064608fc9f031147314b5c 100644 |
--- a/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc |
+++ b/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc |
@@ -227,15 +227,67 @@ void EnrollmentScreen::OnOtherError( |
void EnrollmentScreen::OnDeviceEnrolled(const std::string& additional_token) { |
if (!additional_token.empty()) |
SendEnrollmentAuthToken(additional_token); |
- StartupUtils::MarkDeviceRegistered( |
- base::Bind(&EnrollmentScreen::ShowEnrollmentStatusOnSuccess, |
+ |
+ policy::BrowserPolicyConnectorChromeOS* connector = |
Mattias Nissler (ping if slow)
2015/04/10 12:22:28
This logic should probably all be moved to the enr
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
+ g_browser_process->platform_part()->browser_policy_connector_chromeos(); |
+ policy::DeviceCloudPolicyManagerChromeOS* policy_manager = |
+ connector->GetDeviceCloudPolicyManager(); |
+ |
+ policy::CloudPolicyClient* client = policy_manager->core()->client(); |
+ |
+ client->GetDeviceAttributeUpdatePermission( |
+ enrollment_helper_->GetOAuthToken(), |
+ base::Bind(&EnrollmentScreen::OnDeviceNamingPermission, |
weak_ptr_factory_.GetWeakPtr())); |
+ |
if (remora_controller_) { |
Mattias Nissler (ping if slow)
2015/04/10 12:22:28
This should not be run if there's still a Naming p
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
remora_controller_->OnEnrollmentStatusChanged( |
HostPairingController::ENROLLMENT_STATUS_SUCCESS); |
} |
} |
+void EnrollmentScreen::OnDeviceNaming(const std::string& asset_id, |
+ const std::string& location) { |
+ policy::BrowserPolicyConnectorChromeOS* connector = |
Mattias Nissler (ping if slow)
2015/04/10 12:22:28
This stuff should also move to the enrollment help
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
+ g_browser_process->platform_part()->browser_policy_connector_chromeos(); |
+ policy::DeviceCloudPolicyManagerChromeOS* policy_manager = |
+ connector->GetDeviceCloudPolicyManager(); |
+ |
+ policy::CloudPolicyClient* client = policy_manager->core()->client(); |
+ |
+ client->UpdateDeviceAttributes(enrollment_helper_->GetOAuthToken(), asset_id, |
+ location, |
+ base::Bind(&EnrollmentScreen::OnDeviceNamed, |
+ weak_ptr_factory_.GetWeakPtr())); |
+} |
+ |
+void EnrollmentScreen::OnDeviceNamingPermission(bool status) { |
+ // If user is permitted to name a device |
+ // Show device naming screen |
+ if (status) { |
+ StartupUtils::MarkDeviceRegistered( |
+ base::Bind(&EnrollmentScreen::ShowDeviceNamingScreen, |
+ weak_ptr_factory_.GetWeakPtr())); |
+ } else { |
+ StartupUtils::MarkDeviceRegistered( |
+ base::Bind(&EnrollmentScreen::ShowEnrollmentStatusOnSuccess, |
+ weak_ptr_factory_.GetWeakPtr())); |
+ } |
+} |
+ |
+void EnrollmentScreen::OnDeviceNamed(bool status) { |
Mattias Nissler (ping if slow)
2015/04/10 12:22:28
This should probably be renamed to OnDeviceAttribu
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
+ if (status) { |
+ actor_->ShowEnrollmentStatus(policy::EnrollmentStatus::ForStatus( |
+ policy::EnrollmentStatus::STATUS_SUCCESS)); |
+ } else { |
+ actor_->ShowEnrollmentStatus(policy::EnrollmentStatus::ForStatus( |
+ policy::EnrollmentStatus::STATUS_DEVICE_NAMING_FAILED)); |
+ } |
+} |
+void EnrollmentScreen::ShowDeviceNamingScreen() { |
Mattias Nissler (ping if slow)
2015/04/10 12:22:28
nit: Rename to ShowAttributePromptScreen?
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
+ actor_->ShowDeviceNamingScreen(); |
+} |
+ |
void EnrollmentScreen::SendEnrollmentAuthToken(const std::string& token) { |
// TODO(achuith, zork): Extract and send domain. |
DCHECK(shark_controller_); |