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

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

Issue 2959853003: Add UI components for license type selection in ChromeOS login UI. (Closed)
Patch Set: Created 3 years, 5 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 "ash/system/devicetype_utils.h" 9 #include "ash/system/devicetype_utils.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 26 matching lines...) Expand all
37 #include "ui/base/l10n/l10n_util.h" 37 #include "ui/base/l10n/l10n_util.h"
38 38
39 namespace chromeos { 39 namespace chromeos {
40 namespace { 40 namespace {
41 41
42 const char kJsScreenPath[] = "login.OAuthEnrollmentScreen"; 42 const char kJsScreenPath[] = "login.OAuthEnrollmentScreen";
43 43
44 // Enrollment step names. 44 // Enrollment step names.
45 const char kEnrollmentStepSignin[] = "signin"; 45 const char kEnrollmentStepSignin[] = "signin";
46 const char kEnrollmentStepAdJoin[] = "ad-join"; 46 const char kEnrollmentStepAdJoin[] = "ad-join";
47 const char kEnrollmentStepPickLicense[] = "license";
47 const char kEnrollmentStepSuccess[] = "success"; 48 const char kEnrollmentStepSuccess[] = "success";
48 const char kEnrollmentStepWorking[] = "working"; 49 const char kEnrollmentStepWorking[] = "working";
49 50
50 // Enrollment mode constants used in the UI. This needs to be kept in sync with 51 // Enrollment mode constants used in the UI. This needs to be kept in sync with
51 // oobe_screen_oauth_enrollment.js. 52 // oobe_screen_oauth_enrollment.js.
52 const char kEnrollmentModeUIForced[] = "forced"; 53 const char kEnrollmentModeUIForced[] = "forced";
53 const char kEnrollmentModeUIManual[] = "manual"; 54 const char kEnrollmentModeUIManual[] = "manual";
54 const char kEnrollmentModeUIRecovery[] = "recovery"; 55 const char kEnrollmentModeUIRecovery[] = "recovery";
55 56
56 // Converts |mode| to a mode identifier for the UI. 57 // Converts |mode| to a mode identifier for the UI.
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 AddCallback("oauthEnrollAdCompleteLogin", 143 AddCallback("oauthEnrollAdCompleteLogin",
143 &EnrollmentScreenHandler::HandleAdCompleteLogin); 144 &EnrollmentScreenHandler::HandleAdCompleteLogin);
144 AddCallback("oauthEnrollRetry", 145 AddCallback("oauthEnrollRetry",
145 &EnrollmentScreenHandler::HandleRetry); 146 &EnrollmentScreenHandler::HandleRetry);
146 AddCallback("frameLoadingCompleted", 147 AddCallback("frameLoadingCompleted",
147 &EnrollmentScreenHandler::HandleFrameLoadingCompleted); 148 &EnrollmentScreenHandler::HandleFrameLoadingCompleted);
148 AddCallback("oauthEnrollAttributes", 149 AddCallback("oauthEnrollAttributes",
149 &EnrollmentScreenHandler::HandleDeviceAttributesProvided); 150 &EnrollmentScreenHandler::HandleDeviceAttributesProvided);
150 AddCallback("oauthEnrollOnLearnMore", 151 AddCallback("oauthEnrollOnLearnMore",
151 &EnrollmentScreenHandler::HandleOnLearnMore); 152 &EnrollmentScreenHandler::HandleOnLearnMore);
153 AddCallback("onLicenseTypeSelected",
154 &EnrollmentScreenHandler::HandleLicenseTypeSelected);
152 } 155 }
153 156
154 // EnrollmentScreenHandler 157 // EnrollmentScreenHandler
155 // EnrollmentScreenActor implementation ----------------------------------- 158 // EnrollmentScreenActor implementation -----------------------------------
156 159
157 void EnrollmentScreenHandler::SetParameters( 160 void EnrollmentScreenHandler::SetParameters(
158 Controller* controller, 161 Controller* controller,
159 const policy::EnrollmentConfig& config) { 162 const policy::EnrollmentConfig& config) {
160 CHECK(config.should_enroll()); 163 CHECK(config.should_enroll());
161 controller_ = controller; 164 controller_ = controller;
162 config_ = config; 165 config_ = config;
163 } 166 }
164 167
165 void EnrollmentScreenHandler::Show() { 168 void EnrollmentScreenHandler::Show() {
166 if (!page_is_ready()) 169 if (!page_is_ready())
167 show_on_init_ = true; 170 show_on_init_ = true;
168 else 171 else
169 DoShow(); 172 DoShow();
170 } 173 }
171 174
172 void EnrollmentScreenHandler::Hide() { 175 void EnrollmentScreenHandler::Hide() {
173 } 176 }
174 177
175 void EnrollmentScreenHandler::ShowSigninScreen() { 178 void EnrollmentScreenHandler::ShowSigninScreen() {
176 observe_network_failure_ = true; 179 observe_network_failure_ = true;
177 ShowStep(kEnrollmentStepSignin); 180 ShowStep(kEnrollmentStepSignin);
178 } 181 }
179 182
183 void EnrollmentScreenHandler::ShowLicenseTypeSelectionScreen(
184 const base::DictionaryValue& license_types) {
185 CallJS("setAvailableLicenseTypes", license_types);
186 ShowStep(kEnrollmentStepPickLicense);
187 }
188
180 void EnrollmentScreenHandler::ShowAdJoin() { 189 void EnrollmentScreenHandler::ShowAdJoin() {
181 observe_network_failure_ = false; 190 observe_network_failure_ = false;
182 if (!authpolicy_login_helper_) 191 if (!authpolicy_login_helper_)
183 authpolicy_login_helper_ = base::MakeUnique<AuthPolicyLoginHelper>(); 192 authpolicy_login_helper_ = base::MakeUnique<AuthPolicyLoginHelper>();
184 ShowStep(kEnrollmentStepAdJoin); 193 ShowStep(kEnrollmentStepAdJoin);
185 } 194 }
186 195
187 void EnrollmentScreenHandler::ShowAttributePromptScreen( 196 void EnrollmentScreenHandler::ShowAttributePromptScreen(
188 const std::string& asset_id, 197 const std::string& asset_id,
189 const std::string& location) { 198 const std::string& location) {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 false); 360 false);
352 return; 361 return;
353 case policy::EnrollmentStatus::ACTIVE_DIRECTORY_POLICY_FETCH_FAILED: 362 case policy::EnrollmentStatus::ACTIVE_DIRECTORY_POLICY_FETCH_FAILED:
354 ShowError(IDS_ENTERPRISE_ENROLLMENT_ERROR_ACTIVE_DIRECTORY_POLICY_FETCH, 363 ShowError(IDS_ENTERPRISE_ENROLLMENT_ERROR_ACTIVE_DIRECTORY_POLICY_FETCH,
355 false); 364 false);
356 return; 365 return;
357 case policy::EnrollmentStatus::DM_TOKEN_STORE_FAILED: 366 case policy::EnrollmentStatus::DM_TOKEN_STORE_FAILED:
358 ShowError(IDS_ENTERPRISE_ENROLLMENT_ERROR_SAVE_DEVICE_CONFIGURATION, 367 ShowError(IDS_ENTERPRISE_ENROLLMENT_ERROR_SAVE_DEVICE_CONFIGURATION,
359 false); 368 false);
360 return; 369 return;
370 case policy::EnrollmentStatus::LICENSE_REQUEST_FAILED:
371 ShowError(IDS_ENTERPRISE_ENROLLMENT_ERROR_LICENSE_REQUEST, false);
372 return;
361 } 373 }
362 NOTREACHED(); 374 NOTREACHED();
363 } 375 }
364 376
365 // EnrollmentScreenHandler BaseScreenHandler implementation ----- 377 // EnrollmentScreenHandler BaseScreenHandler implementation -----
366 378
367 void EnrollmentScreenHandler::Initialize() { 379 void EnrollmentScreenHandler::Initialize() {
368 if (show_on_init_) { 380 if (show_on_init_) {
369 Show(); 381 Show();
370 show_on_init_ = false; 382 show_on_init_ = false;
(...skipping 26 matching lines...) Expand all
397 builder->Add("oauthEnrollAdMachineNameInput", 409 builder->Add("oauthEnrollAdMachineNameInput",
398 IDS_AD_MACHINE_NAME_INPUT_LABEL); 410 IDS_AD_MACHINE_NAME_INPUT_LABEL);
399 builder->Add("oauthEnrollAdDomainJoinWelcomeMessage", 411 builder->Add("oauthEnrollAdDomainJoinWelcomeMessage",
400 IDS_AD_DOMAIN_JOIN_WELCOME_MESSAGE); 412 IDS_AD_DOMAIN_JOIN_WELCOME_MESSAGE);
401 builder->Add("adLoginUsername", IDS_AD_LOGIN_USER); 413 builder->Add("adLoginUsername", IDS_AD_LOGIN_USER);
402 builder->Add("adLoginInvalidUsername", IDS_AD_INVALID_USERNAME); 414 builder->Add("adLoginInvalidUsername", IDS_AD_INVALID_USERNAME);
403 builder->Add("adLoginPassword", IDS_AD_LOGIN_PASSWORD); 415 builder->Add("adLoginPassword", IDS_AD_LOGIN_PASSWORD);
404 builder->Add("adLoginInvalidPassword", IDS_AD_INVALID_PASSWORD); 416 builder->Add("adLoginInvalidPassword", IDS_AD_INVALID_PASSWORD);
405 builder->Add("adJoinErrorMachineNameInvalid", IDS_AD_MACHINENAME_INVALID); 417 builder->Add("adJoinErrorMachineNameInvalid", IDS_AD_MACHINENAME_INVALID);
406 builder->Add("adJoinErrorMachineNameTooLong", IDS_AD_MACHINENAME_TOO_LONG); 418 builder->Add("adJoinErrorMachineNameTooLong", IDS_AD_MACHINENAME_TOO_LONG);
419 builder->Add("licenseSelectionCardTitle",
420 IDS_ENTERPRISE_ENROLLMENT_LICENSE_SELECTION);
421 builder->Add("licenseSelectionCardExplanation",
422 IDS_ENTERPRISE_ENROLLMENT_LICENSE_SELECTION_EXPLANATION);
423 builder->Add("perpetualLicenseTypeTitle",
424 IDS_ENTERPRISE_ENROLLMENT_PERPETUAL_LICENSE_TYPE);
425 builder->Add("annualLicenseTypeTitle",
426 IDS_ENTERPRISE_ENROLLMENT_ANNUAL_LICENSE_TYPE);
427 builder->Add("kioskLicenseTypeTitle",
428 IDS_ENTERPRISE_ENROLLMENT_KIOSK_LICENSE_TYPE);
429 builder->Add("licenseCountTemplate",
430 IDS_ENTERPRISE_ENROLLMENT_LICENSES_REMAINING_TEMPLATE);
407 } 431 }
408 432
409 bool EnrollmentScreenHandler::IsOnEnrollmentScreen() const { 433 bool EnrollmentScreenHandler::IsOnEnrollmentScreen() const {
410 return (GetCurrentScreen() == kScreenId); 434 return (GetCurrentScreen() == kScreenId);
411 } 435 }
412 436
413 bool EnrollmentScreenHandler::IsEnrollmentScreenHiddenByError() const { 437 bool EnrollmentScreenHandler::IsEnrollmentScreenHiddenByError() const {
414 return (GetCurrentScreen() == OobeScreen::SCREEN_ERROR_MESSAGE && 438 return (GetCurrentScreen() == OobeScreen::SCREEN_ERROR_MESSAGE &&
415 error_screen_->GetParentScreen() == kScreenId); 439 error_screen_->GetParentScreen() == kScreenId);
416 } 440 }
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 const std::string& location) { 649 const std::string& location) {
626 controller_->OnDeviceAttributeProvided(asset_id, location); 650 controller_->OnDeviceAttributeProvided(asset_id, location);
627 } 651 }
628 652
629 void EnrollmentScreenHandler::HandleOnLearnMore() { 653 void EnrollmentScreenHandler::HandleOnLearnMore() {
630 if (!help_app_.get()) 654 if (!help_app_.get())
631 help_app_ = new HelpAppLauncher(GetNativeWindow()); 655 help_app_ = new HelpAppLauncher(GetNativeWindow());
632 help_app_->ShowHelpTopic(HelpAppLauncher::HELP_DEVICE_ATTRIBUTES); 656 help_app_->ShowHelpTopic(HelpAppLauncher::HELP_DEVICE_ATTRIBUTES);
633 } 657 }
634 658
659 void EnrollmentScreenHandler::HandleLicenseTypeSelected(
660 const std::string& licenseType) {
661 controller_->OnLicenseTypeSelected(licenseType);
662 }
663
635 void EnrollmentScreenHandler::ShowStep(const char* step) { 664 void EnrollmentScreenHandler::ShowStep(const char* step) {
636 CallJS("showStep", std::string(step)); 665 CallJS("showStep", std::string(step));
637 } 666 }
638 667
639 void EnrollmentScreenHandler::ShowError(int message_id, bool retry) { 668 void EnrollmentScreenHandler::ShowError(int message_id, bool retry) {
640 ShowErrorMessage(l10n_util::GetStringUTF8(message_id), retry); 669 ShowErrorMessage(l10n_util::GetStringUTF8(message_id), retry);
641 } 670 }
642 671
643 void EnrollmentScreenHandler::ShowErrorForDevice(int message_id, bool retry) { 672 void EnrollmentScreenHandler::ShowErrorForDevice(int message_id, bool retry) {
644 ShowErrorMessage( 673 ShowErrorMessage(
(...skipping 25 matching lines...) Expand all
670 699
671 ShowScreenWithData(OobeScreen::SCREEN_OOBE_ENROLLMENT, &screen_data); 700 ShowScreenWithData(OobeScreen::SCREEN_OOBE_ENROLLMENT, &screen_data);
672 if (first_show_) { 701 if (first_show_) {
673 first_show_ = false; 702 first_show_ = false;
674 UpdateStateInternal(NetworkError::ERROR_REASON_UPDATE, true); 703 UpdateStateInternal(NetworkError::ERROR_REASON_UPDATE, true);
675 } 704 }
676 histogram_helper_->OnScreenShow(); 705 histogram_helper_->OnScreenShow();
677 } 706 }
678 707
679 } // namespace chromeos 708 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698