OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h" | 5 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
141 | 141 |
142 void EnrollmentScreenHandler::RegisterMessages() { | 142 void EnrollmentScreenHandler::RegisterMessages() { |
143 AddCallback("oauthEnrollClose", | 143 AddCallback("oauthEnrollClose", |
144 &EnrollmentScreenHandler::HandleClose); | 144 &EnrollmentScreenHandler::HandleClose); |
145 AddCallback("oauthEnrollCompleteLogin", | 145 AddCallback("oauthEnrollCompleteLogin", |
146 &EnrollmentScreenHandler::HandleCompleteLogin); | 146 &EnrollmentScreenHandler::HandleCompleteLogin); |
147 AddCallback("oauthEnrollRetry", | 147 AddCallback("oauthEnrollRetry", |
148 &EnrollmentScreenHandler::HandleRetry); | 148 &EnrollmentScreenHandler::HandleRetry); |
149 AddCallback("frameLoadingCompleted", | 149 AddCallback("frameLoadingCompleted", |
150 &EnrollmentScreenHandler::HandleFrameLoadingCompleted); | 150 &EnrollmentScreenHandler::HandleFrameLoadingCompleted); |
| 151 AddCallback("oauthEnrollAttributes", |
| 152 &EnrollmentScreenHandler::HandleDeviceAttributesProvided); |
151 } | 153 } |
152 | 154 |
153 // EnrollmentScreenHandler | 155 // EnrollmentScreenHandler |
154 // EnrollmentScreenActor implementation ----------------------------------- | 156 // EnrollmentScreenActor implementation ----------------------------------- |
155 | 157 |
156 void EnrollmentScreenHandler::SetParameters( | 158 void EnrollmentScreenHandler::SetParameters( |
157 Controller* controller, | 159 Controller* controller, |
158 const policy::EnrollmentConfig& config) { | 160 const policy::EnrollmentConfig& config) { |
159 CHECK_NE(policy::EnrollmentConfig::MODE_NONE, config.mode); | 161 CHECK_NE(policy::EnrollmentConfig::MODE_NONE, config.mode); |
160 controller_ = controller; | 162 controller_ = controller; |
(...skipping 16 matching lines...) Expand all Loading... |
177 } | 179 } |
178 | 180 |
179 void EnrollmentScreenHandler::Hide() { | 181 void EnrollmentScreenHandler::Hide() { |
180 } | 182 } |
181 | 183 |
182 void EnrollmentScreenHandler::ShowSigninScreen() { | 184 void EnrollmentScreenHandler::ShowSigninScreen() { |
183 observe_network_failure_ = true; | 185 observe_network_failure_ = true; |
184 ShowStep(kEnrollmentStepSignin); | 186 ShowStep(kEnrollmentStepSignin); |
185 } | 187 } |
186 | 188 |
| 189 void EnrollmentScreenHandler::ShowAttributePromptScreen( |
| 190 const std::string& asset_id, |
| 191 const std::string& location) { |
| 192 CallJS("showAttributePromptStep", asset_id, location); |
| 193 } |
| 194 |
187 void EnrollmentScreenHandler::ShowEnrollmentSpinnerScreen() { | 195 void EnrollmentScreenHandler::ShowEnrollmentSpinnerScreen() { |
188 ShowStep(kEnrollmentStepWorking); | 196 ShowStep(kEnrollmentStepWorking); |
189 } | 197 } |
190 | 198 |
191 void EnrollmentScreenHandler::ShowAuthError( | 199 void EnrollmentScreenHandler::ShowAuthError( |
192 const GoogleServiceAuthError& error) { | 200 const GoogleServiceAuthError& error) { |
193 switch (error.state()) { | 201 switch (error.state()) { |
194 case GoogleServiceAuthError::NONE: | 202 case GoogleServiceAuthError::NONE: |
195 case GoogleServiceAuthError::CAPTCHA_REQUIRED: | 203 case GoogleServiceAuthError::CAPTCHA_REQUIRED: |
196 case GoogleServiceAuthError::TWO_FACTOR: | 204 case GoogleServiceAuthError::TWO_FACTOR: |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 policy::FormatStoreStatus(status.store_status(), | 328 policy::FormatStoreStatus(status.store_status(), |
321 status.validation_status())), | 329 status.validation_status())), |
322 true); | 330 true); |
323 return; | 331 return; |
324 case policy::EnrollmentStatus::STATUS_STORE_TOKEN_AND_ID_FAILED: | 332 case policy::EnrollmentStatus::STATUS_STORE_TOKEN_AND_ID_FAILED: |
325 // This error should not happen for enterprise enrollment. | 333 // This error should not happen for enterprise enrollment. |
326 ShowError(IDS_ENTERPRISE_ENROLLMENT_STATUS_STORE_TOKEN_AND_ID_FAILED, | 334 ShowError(IDS_ENTERPRISE_ENROLLMENT_STATUS_STORE_TOKEN_AND_ID_FAILED, |
327 true); | 335 true); |
328 NOTREACHED(); | 336 NOTREACHED(); |
329 return; | 337 return; |
| 338 case policy::EnrollmentStatus::STATUS_ATTRIBUTE_UPDATE_FAILED: |
| 339 ShowError(IDS_ENTERPRISE_ENROLLMENT_ATTRIBUTE_ERROR, false); |
| 340 return; |
330 } | 341 } |
331 NOTREACHED(); | 342 NOTREACHED(); |
332 } | 343 } |
333 | 344 |
334 // EnrollmentScreenHandler BaseScreenHandler implementation ----- | 345 // EnrollmentScreenHandler BaseScreenHandler implementation ----- |
335 | 346 |
336 void EnrollmentScreenHandler::Initialize() { | 347 void EnrollmentScreenHandler::Initialize() { |
337 if (show_on_init_) { | 348 if (show_on_init_) { |
338 Show(); | 349 Show(); |
339 show_on_init_ = false; | 350 show_on_init_ = false; |
340 } | 351 } |
341 } | 352 } |
342 | 353 |
343 void EnrollmentScreenHandler::DeclareLocalizedValues( | 354 void EnrollmentScreenHandler::DeclareLocalizedValues( |
344 ::login::LocalizedValuesBuilder* builder) { | 355 ::login::LocalizedValuesBuilder* builder) { |
345 builder->Add("oauthEnrollScreenTitle", | 356 builder->Add("oauthEnrollScreenTitle", |
346 IDS_ENTERPRISE_ENROLLMENT_SCREEN_TITLE); | 357 IDS_ENTERPRISE_ENROLLMENT_SCREEN_TITLE); |
347 builder->Add("oauthEnrollDescription", IDS_ENTERPRISE_ENROLLMENT_DESCRIPTION); | 358 builder->Add("oauthEnrollDescription", IDS_ENTERPRISE_ENROLLMENT_DESCRIPTION); |
348 builder->Add("oauthEnrollReEnrollmentText", | 359 builder->Add("oauthEnrollReEnrollmentText", |
349 IDS_ENTERPRISE_ENROLLMENT_RE_ENROLLMENT_TEXT); | 360 IDS_ENTERPRISE_ENROLLMENT_RE_ENROLLMENT_TEXT); |
350 builder->Add("oauthEnrollRetry", IDS_ENTERPRISE_ENROLLMENT_RETRY); | 361 builder->Add("oauthEnrollRetry", IDS_ENTERPRISE_ENROLLMENT_RETRY); |
351 builder->Add("oauthEnrollCancel", IDS_ENTERPRISE_ENROLLMENT_CANCEL); | 362 builder->Add("oauthEnrollCancel", IDS_ENTERPRISE_ENROLLMENT_CANCEL); |
352 builder->Add("oauthEnrollBack", IDS_ENTERPRISE_ENROLLMENT_BACK); | 363 builder->Add("oauthEnrollBack", IDS_ENTERPRISE_ENROLLMENT_BACK); |
353 builder->Add("oauthEnrollDone", IDS_ENTERPRISE_ENROLLMENT_DONE); | 364 builder->Add("oauthEnrollDone", IDS_ENTERPRISE_ENROLLMENT_DONE); |
| 365 builder->Add("oauthEnrollContinue", IDS_ENTERPRISE_ENROLLMENT_CONTINUE); |
354 builder->Add("oauthEnrollSuccess", IDS_ENTERPRISE_ENROLLMENT_SUCCESS); | 366 builder->Add("oauthEnrollSuccess", IDS_ENTERPRISE_ENROLLMENT_SUCCESS); |
| 367 builder->Add("oauthEnrollAttributes", IDS_ENTERPRISE_ENROLLMENT_ATTRIBUTES); |
355 builder->Add("oauthEnrollExplainLink", | 368 builder->Add("oauthEnrollExplainLink", |
356 IDS_ENTERPRISE_ENROLLMENT_EXPLAIN_LINK); | 369 IDS_ENTERPRISE_ENROLLMENT_EXPLAIN_LINK); |
357 builder->Add("oauthEnrollWorking", IDS_ENTERPRISE_ENROLLMENT_WORKING); | 370 builder->Add("oauthEnrollWorking", IDS_ENTERPRISE_ENROLLMENT_WORKING); |
| 371 builder->Add("oauthEnrollAssetIdLabel", |
| 372 IDS_ENTERPRISE_ENROLLMENT_ASSET_ID_LABEL); |
| 373 builder->Add("oauthEnrollLocationLabel", |
| 374 IDS_ENTERPRISE_ENROLLMENT_LOCATION_LABEL); |
358 } | 375 } |
359 | 376 |
360 OobeUI::Screen EnrollmentScreenHandler::GetCurrentScreen() const { | 377 OobeUI::Screen EnrollmentScreenHandler::GetCurrentScreen() const { |
361 OobeUI::Screen screen = OobeUI::SCREEN_UNKNOWN; | 378 OobeUI::Screen screen = OobeUI::SCREEN_UNKNOWN; |
362 OobeUI* oobe_ui = static_cast<OobeUI*>(web_ui()->GetController()); | 379 OobeUI* oobe_ui = static_cast<OobeUI*>(web_ui()->GetController()); |
363 if (oobe_ui) | 380 if (oobe_ui) |
364 screen = oobe_ui->current_screen(); | 381 screen = oobe_ui->current_screen(); |
365 return screen; | 382 return screen; |
366 } | 383 } |
367 | 384 |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
509 frame_error_ = frame_error; | 526 frame_error_ = frame_error; |
510 | 527 |
511 if (network_state_informer_->state() != NetworkStateInformer::ONLINE) | 528 if (network_state_informer_->state() != NetworkStateInformer::ONLINE) |
512 return; | 529 return; |
513 if (frame_error_) | 530 if (frame_error_) |
514 UpdateState(NetworkError::ERROR_REASON_FRAME_ERROR); | 531 UpdateState(NetworkError::ERROR_REASON_FRAME_ERROR); |
515 else | 532 else |
516 UpdateState(NetworkError::ERROR_REASON_UPDATE); | 533 UpdateState(NetworkError::ERROR_REASON_UPDATE); |
517 } | 534 } |
518 | 535 |
| 536 void EnrollmentScreenHandler::HandleDeviceAttributesProvided( |
| 537 const std::string& asset_id, |
| 538 const std::string& location) { |
| 539 controller_->OnDeviceAttributeProvided(asset_id, location); |
| 540 } |
| 541 |
519 void EnrollmentScreenHandler::ShowStep(const char* step) { | 542 void EnrollmentScreenHandler::ShowStep(const char* step) { |
520 CallJS("showStep", std::string(step)); | 543 CallJS("showStep", std::string(step)); |
521 } | 544 } |
522 | 545 |
523 void EnrollmentScreenHandler::ShowError(int message_id, bool retry) { | 546 void EnrollmentScreenHandler::ShowError(int message_id, bool retry) { |
524 ShowErrorMessage(l10n_util::GetStringUTF8(message_id), retry); | 547 ShowErrorMessage(l10n_util::GetStringUTF8(message_id), retry); |
525 } | 548 } |
526 | 549 |
527 void EnrollmentScreenHandler::ShowErrorMessage(const std::string& message, | 550 void EnrollmentScreenHandler::ShowErrorMessage(const std::string& message, |
528 bool retry) { | 551 bool retry) { |
(...skipping 19 matching lines...) Expand all Loading... |
548 | 571 |
549 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data); | 572 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data); |
550 if (first_show_) { | 573 if (first_show_) { |
551 first_show_ = false; | 574 first_show_ = false; |
552 UpdateStateInternal(NetworkError::ERROR_REASON_UPDATE, true); | 575 UpdateStateInternal(NetworkError::ERROR_REASON_UPDATE, true); |
553 } | 576 } |
554 histogram_helper_->OnScreenShow(); | 577 histogram_helper_->OnScreenShow(); |
555 } | 578 } |
556 | 579 |
557 } // namespace chromeos | 580 } // namespace chromeos |
OLD | NEW |