Index: chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc |
index 88b5237201be72e754c8012848fe758acd14e297..d79cd228bd290ba0b3946c5cb301094244d874c7 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc |
@@ -12,9 +12,11 @@ |
#include "base/macros.h" |
#include "base/strings/stringprintf.h" |
#include "base/values.h" |
+#include "chrome/browser/browser_process.h" |
#include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" |
#include "chrome/browser/chromeos/login/screens/network_error.h" |
#include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" |
+#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/extensions/signin/gaia_auth_extension_loader.h" |
@@ -40,6 +42,7 @@ const char kJsScreenPath[] = "login.OAuthEnrollmentScreen"; |
const char kEnrollmentStepSignin[] = "signin"; |
const char kEnrollmentStepSuccess[] = "success"; |
const char kEnrollmentStepWorking[] = "working"; |
+const char kEnrollmentStepNaming[] = "naming"; |
// Enrollment mode constants used in the UI. This needs to be kept in sync with |
// oobe_screen_oauth_enrollment.js. |
@@ -148,6 +151,8 @@ void EnrollmentScreenHandler::RegisterMessages() { |
&EnrollmentScreenHandler::HandleRetry); |
AddCallback("frameLoadingCompleted", |
&EnrollmentScreenHandler::HandleFrameLoadingCompleted); |
+ AddCallback("oauthEnrollNaming", |
Mattias Nissler (ping if slow)
2015/04/10 12:22:29
Let's change the language from naming -> attribute
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
+ &EnrollmentScreenHandler::HandleDeviceNaming); |
} |
// EnrollmentScreenHandler |
@@ -184,6 +189,30 @@ void EnrollmentScreenHandler::ShowSigninScreen() { |
ShowStep(kEnrollmentStepSignin); |
} |
+void EnrollmentScreenHandler::ShowDeviceNamingScreen() { |
+ base::DictionaryValue data; |
+ |
+ policy::BrowserPolicyConnectorChromeOS* connector = |
Mattias Nissler (ping if slow)
2015/04/10 12:22:29
This should not grab the values from the connector
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::CloudPolicyStore *store = policy_manager->core()->store(); |
+ |
+ const enterprise_management::PolicyData* policy = store->policy(); |
+ |
+ std::string annotated_asset_id = policy ? policy->annotated_asset_id() |
+ : std::string(); |
+ std::string annotated_location = policy ? policy->annotated_location() |
+ : std::string(); |
+ |
+ data.SetString("device_asset_id", annotated_asset_id); |
+ data.SetString("device_location", annotated_location); |
+ |
+ OnBeforeShowNaming(data); |
+ ShowStep(kEnrollmentStepNaming); |
Mattias Nissler (ping if slow)
2015/04/10 12:22:29
These two should be replaced by a single JS call t
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
+} |
+ |
void EnrollmentScreenHandler::ShowEnrollmentSpinnerScreen() { |
ShowStep(kEnrollmentStepWorking); |
} |
@@ -327,6 +356,9 @@ void EnrollmentScreenHandler::ShowEnrollmentStatus( |
true); |
NOTREACHED(); |
return; |
+ case policy::EnrollmentStatus::STATUS_DEVICE_NAMING_FAILED: |
+ ShowError(IDS_ENTERPRISE_ENROLLMENT_DEVICE_NAMING_ERROR, false); |
+ return; |
} |
NOTREACHED(); |
} |
@@ -351,10 +383,16 @@ void EnrollmentScreenHandler::DeclareLocalizedValues( |
builder->Add("oauthEnrollCancel", IDS_ENTERPRISE_ENROLLMENT_CANCEL); |
builder->Add("oauthEnrollBack", IDS_ENTERPRISE_ENROLLMENT_BACK); |
builder->Add("oauthEnrollDone", IDS_ENTERPRISE_ENROLLMENT_DONE); |
+ builder->Add("oauthEnrollContinue", IDS_ENTERPRISE_ENROLLMENT_CONTINUE); |
builder->Add("oauthEnrollSuccess", IDS_ENTERPRISE_ENROLLMENT_SUCCESS); |
+ builder->Add("oauthEnrollNaming", IDS_ENTERPRISE_ENROLLMENT_NAMING); |
builder->Add("oauthEnrollExplainLink", |
IDS_ENTERPRISE_ENROLLMENT_EXPLAIN_LINK); |
builder->Add("oauthEnrollWorking", IDS_ENTERPRISE_ENROLLMENT_WORKING); |
+ builder->Add("oauthEnrollAssetIdLabel", |
+ IDS_ENTERPRISE_ENROLLMENT_ASSET_ID_LABEL); |
+ builder->Add("oauthEnrollLocationLabel", |
+ IDS_ENTERPRISE_ENROLLMENT_LOCATION_LABEL); |
} |
OobeUI::Screen EnrollmentScreenHandler::GetCurrentScreen() const { |
@@ -516,6 +554,11 @@ void EnrollmentScreenHandler::HandleFrameLoadingCompleted(int status) { |
UpdateState(NetworkError::ERROR_REASON_UPDATE); |
} |
+void EnrollmentScreenHandler::HandleDeviceNaming(const std::string& asset_id, |
Mattias Nissler (ping if slow)
2015/04/10 12:22:29
nit: Let's improve the naming here, i.e. rename to
Polina Bondarenko
2015/04/14 14:15:47
Done.
|
+ const std::string& location) { |
+ controller_->OnDeviceNaming(asset_id, location); |
+} |
+ |
void EnrollmentScreenHandler::ShowStep(const char* step) { |
CallJS("showStep", std::string(step)); |
} |
@@ -554,4 +597,9 @@ void EnrollmentScreenHandler::DoShow() { |
histogram_helper_->OnScreenShow(); |
} |
+void EnrollmentScreenHandler::OnBeforeShowNaming( |
+ const base::DictionaryValue& data) { |
+ CallJS("onBeforeShowNaming", data); |
+} |
+ |
} // namespace chromeos |