Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(622)

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc

Issue 975353002: Added OOBE Asset / Naming prompt (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 22 matching lines...) Expand all
33 33
34 namespace chromeos { 34 namespace chromeos {
35 namespace { 35 namespace {
36 36
37 const char kJsScreenPath[] = "login.OAuthEnrollmentScreen"; 37 const char kJsScreenPath[] = "login.OAuthEnrollmentScreen";
38 38
39 // Enrollment step names. 39 // Enrollment step names.
40 const char kEnrollmentStepSignin[] = "signin"; 40 const char kEnrollmentStepSignin[] = "signin";
41 const char kEnrollmentStepSuccess[] = "success"; 41 const char kEnrollmentStepSuccess[] = "success";
42 const char kEnrollmentStepWorking[] = "working"; 42 const char kEnrollmentStepWorking[] = "working";
43 const char kEnrollmentStepNaming[] = "naming";
43 44
44 // Enrollment mode constants used in the UI. This needs to be kept in sync with 45 // Enrollment mode constants used in the UI. This needs to be kept in sync with
45 // oobe_screen_oauth_enrollment.js. 46 // oobe_screen_oauth_enrollment.js.
46 const char kEnrollmentModeUIForced[] = "forced"; 47 const char kEnrollmentModeUIForced[] = "forced";
47 const char kEnrollmentModeUIManual[] = "manual"; 48 const char kEnrollmentModeUIManual[] = "manual";
48 const char kEnrollmentModeUIRecovery[] = "recovery"; 49 const char kEnrollmentModeUIRecovery[] = "recovery";
49 50
50 // Enrollment help topic IDs. 51 // Enrollment help topic IDs.
51 const int kEnrollmentHelpTopicRegular = 6142332; 52 const int kEnrollmentHelpTopicRegular = 6142332;
52 const int kEnrollmentHelpTopicServerTriggered = 4631259; 53 const int kEnrollmentHelpTopicServerTriggered = 4631259;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 142
142 void EnrollmentScreenHandler::RegisterMessages() { 143 void EnrollmentScreenHandler::RegisterMessages() {
143 AddCallback("oauthEnrollClose", 144 AddCallback("oauthEnrollClose",
144 &EnrollmentScreenHandler::HandleClose); 145 &EnrollmentScreenHandler::HandleClose);
145 AddCallback("oauthEnrollCompleteLogin", 146 AddCallback("oauthEnrollCompleteLogin",
146 &EnrollmentScreenHandler::HandleCompleteLogin); 147 &EnrollmentScreenHandler::HandleCompleteLogin);
147 AddCallback("oauthEnrollRetry", 148 AddCallback("oauthEnrollRetry",
148 &EnrollmentScreenHandler::HandleRetry); 149 &EnrollmentScreenHandler::HandleRetry);
149 AddCallback("frameLoadingCompleted", 150 AddCallback("frameLoadingCompleted",
150 &EnrollmentScreenHandler::HandleFrameLoadingCompleted); 151 &EnrollmentScreenHandler::HandleFrameLoadingCompleted);
152 AddCallback("oauthEnrollNaming",
153 &EnrollmentScreenHandler::HandleDeviceNaming);
151 } 154 }
152 155
153 // EnrollmentScreenHandler 156 // EnrollmentScreenHandler
154 // EnrollmentScreenActor implementation ----------------------------------- 157 // EnrollmentScreenActor implementation -----------------------------------
155 158
156 void EnrollmentScreenHandler::SetParameters( 159 void EnrollmentScreenHandler::SetParameters(
157 Controller* controller, 160 Controller* controller,
158 const policy::EnrollmentConfig& config) { 161 const policy::EnrollmentConfig& config) {
159 CHECK_NE(policy::EnrollmentConfig::MODE_NONE, config.mode); 162 CHECK_NE(policy::EnrollmentConfig::MODE_NONE, config.mode);
160 controller_ = controller; 163 controller_ = controller;
(...skipping 16 matching lines...) Expand all
177 } 180 }
178 181
179 void EnrollmentScreenHandler::Hide() { 182 void EnrollmentScreenHandler::Hide() {
180 } 183 }
181 184
182 void EnrollmentScreenHandler::ShowSigninScreen() { 185 void EnrollmentScreenHandler::ShowSigninScreen() {
183 observe_network_failure_ = true; 186 observe_network_failure_ = true;
184 ShowStep(kEnrollmentStepSignin); 187 ShowStep(kEnrollmentStepSignin);
185 } 188 }
186 189
190 void EnrollmentScreenHandler::ShowDeviceNamingScreen() {
191 base::DictionaryValue data;
192
193 // TODO: add existing Asset ID and Location values.
194 data.SetString("device_asset_id", "Asset Identifier");
195 data.SetString("device_location", "Location");
196
197 OnBeforeShowNaming(data);
198 ShowStep(kEnrollmentStepNaming);
199 }
200
187 void EnrollmentScreenHandler::ShowEnrollmentSpinnerScreen() { 201 void EnrollmentScreenHandler::ShowEnrollmentSpinnerScreen() {
188 ShowStep(kEnrollmentStepWorking); 202 ShowStep(kEnrollmentStepWorking);
189 } 203 }
190 204
191 void EnrollmentScreenHandler::ShowAuthError( 205 void EnrollmentScreenHandler::ShowAuthError(
192 const GoogleServiceAuthError& error) { 206 const GoogleServiceAuthError& error) {
193 switch (error.state()) { 207 switch (error.state()) {
194 case GoogleServiceAuthError::NONE: 208 case GoogleServiceAuthError::NONE:
195 case GoogleServiceAuthError::CAPTCHA_REQUIRED: 209 case GoogleServiceAuthError::CAPTCHA_REQUIRED:
196 case GoogleServiceAuthError::TWO_FACTOR: 210 case GoogleServiceAuthError::TWO_FACTOR:
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 policy::FormatStoreStatus(status.store_status(), 334 policy::FormatStoreStatus(status.store_status(),
321 status.validation_status())), 335 status.validation_status())),
322 true); 336 true);
323 return; 337 return;
324 case policy::EnrollmentStatus::STATUS_STORE_TOKEN_AND_ID_FAILED: 338 case policy::EnrollmentStatus::STATUS_STORE_TOKEN_AND_ID_FAILED:
325 // This error should not happen for enterprise enrollment. 339 // This error should not happen for enterprise enrollment.
326 ShowError(IDS_ENTERPRISE_ENROLLMENT_STATUS_STORE_TOKEN_AND_ID_FAILED, 340 ShowError(IDS_ENTERPRISE_ENROLLMENT_STATUS_STORE_TOKEN_AND_ID_FAILED,
327 true); 341 true);
328 NOTREACHED(); 342 NOTREACHED();
329 return; 343 return;
344 case policy::EnrollmentStatus::STATUS_DEVICE_NAMING_FAILED:
345 ShowError(IDS_ENTERPRISE_ENROLLMENT_DEVICE_NAMING_ERROR, false);
346 return;
330 } 347 }
331 NOTREACHED(); 348 NOTREACHED();
332 } 349 }
333 350
334 // EnrollmentScreenHandler BaseScreenHandler implementation ----- 351 // EnrollmentScreenHandler BaseScreenHandler implementation -----
335 352
336 void EnrollmentScreenHandler::Initialize() { 353 void EnrollmentScreenHandler::Initialize() {
337 if (show_on_init_) { 354 if (show_on_init_) {
338 Show(); 355 Show();
339 show_on_init_ = false; 356 show_on_init_ = false;
340 } 357 }
341 } 358 }
342 359
343 void EnrollmentScreenHandler::DeclareLocalizedValues( 360 void EnrollmentScreenHandler::DeclareLocalizedValues(
344 ::login::LocalizedValuesBuilder* builder) { 361 ::login::LocalizedValuesBuilder* builder) {
345 builder->Add("oauthEnrollScreenTitle", 362 builder->Add("oauthEnrollScreenTitle",
346 IDS_ENTERPRISE_ENROLLMENT_SCREEN_TITLE); 363 IDS_ENTERPRISE_ENROLLMENT_SCREEN_TITLE);
347 builder->Add("oauthEnrollDescription", IDS_ENTERPRISE_ENROLLMENT_DESCRIPTION); 364 builder->Add("oauthEnrollDescription", IDS_ENTERPRISE_ENROLLMENT_DESCRIPTION);
348 builder->Add("oauthEnrollReEnrollmentText", 365 builder->Add("oauthEnrollReEnrollmentText",
349 IDS_ENTERPRISE_ENROLLMENT_RE_ENROLLMENT_TEXT); 366 IDS_ENTERPRISE_ENROLLMENT_RE_ENROLLMENT_TEXT);
350 builder->Add("oauthEnrollRetry", IDS_ENTERPRISE_ENROLLMENT_RETRY); 367 builder->Add("oauthEnrollRetry", IDS_ENTERPRISE_ENROLLMENT_RETRY);
351 builder->Add("oauthEnrollCancel", IDS_ENTERPRISE_ENROLLMENT_CANCEL); 368 builder->Add("oauthEnrollCancel", IDS_ENTERPRISE_ENROLLMENT_CANCEL);
352 builder->Add("oauthEnrollBack", IDS_ENTERPRISE_ENROLLMENT_BACK); 369 builder->Add("oauthEnrollBack", IDS_ENTERPRISE_ENROLLMENT_BACK);
353 builder->Add("oauthEnrollDone", IDS_ENTERPRISE_ENROLLMENT_DONE); 370 builder->Add("oauthEnrollDone", IDS_ENTERPRISE_ENROLLMENT_DONE);
371 builder->Add("oauthEnrollContinue", IDS_ENTERPRISE_ENROLLMENT_CONTINUE);
354 builder->Add("oauthEnrollSuccess", IDS_ENTERPRISE_ENROLLMENT_SUCCESS); 372 builder->Add("oauthEnrollSuccess", IDS_ENTERPRISE_ENROLLMENT_SUCCESS);
373 builder->Add("oauthEnrollNaming", IDS_ENTERPRISE_ENROLLMENT_NAMING);
355 builder->Add("oauthEnrollExplainLink", 374 builder->Add("oauthEnrollExplainLink",
356 IDS_ENTERPRISE_ENROLLMENT_EXPLAIN_LINK); 375 IDS_ENTERPRISE_ENROLLMENT_EXPLAIN_LINK);
357 builder->Add("oauthEnrollWorking", IDS_ENTERPRISE_ENROLLMENT_WORKING); 376 builder->Add("oauthEnrollWorking", IDS_ENTERPRISE_ENROLLMENT_WORKING);
377 builder->Add("oauthEnrollAssetIdLabel",
378 IDS_ENTERPRISE_ENROLLMENT_ASSET_ID_LABEL);
379 builder->Add("oauthEnrollLocationLabel",
380 IDS_ENTERPRISE_ENROLLMENT_LOCATION_LABEL);
358 } 381 }
359 382
360 OobeUI::Screen EnrollmentScreenHandler::GetCurrentScreen() const { 383 OobeUI::Screen EnrollmentScreenHandler::GetCurrentScreen() const {
361 OobeUI::Screen screen = OobeUI::SCREEN_UNKNOWN; 384 OobeUI::Screen screen = OobeUI::SCREEN_UNKNOWN;
362 OobeUI* oobe_ui = static_cast<OobeUI*>(web_ui()->GetController()); 385 OobeUI* oobe_ui = static_cast<OobeUI*>(web_ui()->GetController());
363 if (oobe_ui) 386 if (oobe_ui)
364 screen = oobe_ui->current_screen(); 387 screen = oobe_ui->current_screen();
365 return screen; 388 return screen;
366 } 389 }
367 390
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
507 frame_error_ = frame_error; 530 frame_error_ = frame_error;
508 531
509 if (network_state_informer_->state() != NetworkStateInformer::ONLINE) 532 if (network_state_informer_->state() != NetworkStateInformer::ONLINE)
510 return; 533 return;
511 if (frame_error_) 534 if (frame_error_)
512 UpdateState(NetworkError::ERROR_REASON_FRAME_ERROR); 535 UpdateState(NetworkError::ERROR_REASON_FRAME_ERROR);
513 else 536 else
514 UpdateState(NetworkError::ERROR_REASON_UPDATE); 537 UpdateState(NetworkError::ERROR_REASON_UPDATE);
515 } 538 }
516 539
540 void EnrollmentScreenHandler::HandleDeviceNaming(const std::string& asset_id,
541 const std::string& location) {
542
543 // TODO: add the device attribute update request
544 // If DeviceAttributeUpdateResponse SUCCESS then status = 0
545 int status = 1;
546 if (status != 0) {
547 // Show DeviceAttributeUpdate error
548 ShowEnrollmentStatus(policy::EnrollmentStatus::ForStatus(
549 policy::EnrollmentStatus::STATUS_DEVICE_NAMING_FAILED));
550 } else {
551 ShowEnrollmentStatus(policy::EnrollmentStatus::ForStatus(
552 policy::EnrollmentStatus::STATUS_SUCCESS));
553 }
554 }
555
517 void EnrollmentScreenHandler::ShowStep(const char* step) { 556 void EnrollmentScreenHandler::ShowStep(const char* step) {
518 CallJS("showStep", std::string(step)); 557 CallJS("showStep", std::string(step));
519 } 558 }
520 559
521 void EnrollmentScreenHandler::ShowError(int message_id, bool retry) { 560 void EnrollmentScreenHandler::ShowError(int message_id, bool retry) {
522 ShowErrorMessage(l10n_util::GetStringUTF8(message_id), retry); 561 ShowErrorMessage(l10n_util::GetStringUTF8(message_id), retry);
523 } 562 }
524 563
525 void EnrollmentScreenHandler::ShowErrorMessage(const std::string& message, 564 void EnrollmentScreenHandler::ShowErrorMessage(const std::string& message,
526 bool retry) { 565 bool retry) {
(...skipping 18 matching lines...) Expand all
545 : kEnrollmentHelpTopicRegular); 584 : kEnrollmentHelpTopicRegular);
546 585
547 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data); 586 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data);
548 if (first_show_) { 587 if (first_show_) {
549 first_show_ = false; 588 first_show_ = false;
550 UpdateStateInternal(NetworkError::ERROR_REASON_UPDATE, true); 589 UpdateStateInternal(NetworkError::ERROR_REASON_UPDATE, true);
551 } 590 }
552 histogram_helper_->OnScreenShow(); 591 histogram_helper_->OnScreenShow();
553 } 592 }
554 593
594 void EnrollmentScreenHandler::OnBeforeShowNaming(
595 const base::DictionaryValue& data) {
596 CallJS("onBeforeShowNaming", data);
597 }
598
555 } // namespace chromeos 599 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698