| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/chromeos/login/wizard_controller.h" | 5 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 6 | 6 |
| 7 #include <gdk/gdk.h> | 7 #include <gdk/gdk.h> |
| 8 #include <signal.h> | 8 #include <signal.h> |
| 9 #include <sys/types.h> | 9 #include <sys/types.h> |
| 10 | 10 |
| 11 #include <string> | 11 #include <string> |
| 12 #include <vector> | 12 #include <vector> |
| 13 | 13 |
| 14 #include "app/l10n_util.h" | 14 #include "app/l10n_util.h" |
| 15 #include "base/command_line.h" | 15 #include "base/command_line.h" |
| 16 #include "base/logging.h" // For NOTREACHED. | 16 #include "base/logging.h" // For NOTREACHED. |
| 17 #include "chrome/browser/browser_process.h" | 17 #include "chrome/browser/browser_process.h" |
| 18 #include "chrome/browser/chromeos/cros/cros_library.h" | 18 #include "chrome/browser/chromeos/cros/cros_library.h" |
| 19 #include "chrome/browser/chromeos/cros/login_library.h" | 19 #include "chrome/browser/chromeos/cros/login_library.h" |
| 20 #include "chrome/browser/chromeos/cros/system_library.h" | 20 #include "chrome/browser/chromeos/cros/system_library.h" |
| 21 #include "chrome/browser/chromeos/customization_document.h" | 21 #include "chrome/browser/chromeos/customization_document.h" |
| 22 #include "chrome/browser/chromeos/input_method/input_method_util.h" | 22 #include "chrome/browser/chromeos/input_method/input_method_util.h" |
| 23 #include "chrome/browser/chromeos/login/account_screen.h" | 23 #include "chrome/browser/chromeos/login/account_screen.h" |
| 24 #include "chrome/browser/chromeos/login/background_view.h" | 24 #include "chrome/browser/chromeos/login/background_view.h" |
| 25 #include "chrome/browser/chromeos/login/eula_view.h" |
| 25 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 26 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| 26 #include "chrome/browser/chromeos/login/helper.h" | 27 #include "chrome/browser/chromeos/login/helper.h" |
| 27 #include "chrome/browser/chromeos/login/language_switch_menu.h" | 28 #include "chrome/browser/chromeos/login/language_switch_menu.h" |
| 28 #include "chrome/browser/chromeos/login/login_screen.h" | 29 #include "chrome/browser/chromeos/login/login_screen.h" |
| 29 #include "chrome/browser/chromeos/login/login_utils.h" | 30 #include "chrome/browser/chromeos/login/login_utils.h" |
| 30 #include "chrome/browser/chromeos/login/network_screen.h" | 31 #include "chrome/browser/chromeos/login/network_screen.h" |
| 31 #include "chrome/browser/chromeos/login/registration_screen.h" | 32 #include "chrome/browser/chromeos/login/registration_screen.h" |
| 32 #include "chrome/browser/chromeos/login/rounded_rect_painter.h" | 33 #include "chrome/browser/chromeos/login/rounded_rect_painter.h" |
| 33 #include "chrome/browser/chromeos/login/update_screen.h" | 34 #include "chrome/browser/chromeos/login/update_screen.h" |
| 34 #include "chrome/browser/chromeos/login/user_image_screen.h" | 35 #include "chrome/browser/chromeos/login/user_image_screen.h" |
| 35 #include "chrome/browser/chromeos/login/user_manager.h" | 36 #include "chrome/browser/chromeos/login/user_manager.h" |
| 36 #include "chrome/browser/chromeos/wm_ipc.h" | 37 #include "chrome/browser/chromeos/wm_ipc.h" |
| 37 #include "chrome/browser/pref_service.h" | 38 #include "chrome/browser/pref_service.h" |
| 38 #include "chrome/browser/profile_manager.h" | 39 #include "chrome/browser/profile_manager.h" |
| 39 #include "chrome/common/chrome_switches.h" | 40 #include "chrome/common/chrome_switches.h" |
| 40 #include "chrome/common/notification_service.h" | 41 #include "chrome/common/notification_service.h" |
| 41 #include "third_party/cros/chromeos_wm_ipc_enums.h" | 42 #include "third_party/cros/chromeos_wm_ipc_enums.h" |
| 43 #include "unicode/timezone.h" |
| 42 #include "views/accelerator.h" | 44 #include "views/accelerator.h" |
| 43 #include "views/painter.h" | 45 #include "views/painter.h" |
| 44 #include "views/view.h" | 46 #include "views/view.h" |
| 45 #include "views/widget/widget_gtk.h" | 47 #include "views/widget/widget_gtk.h" |
| 46 #include "unicode/timezone.h" | |
| 47 | 48 |
| 48 namespace { | 49 namespace { |
| 49 | 50 |
| 50 // A boolean pref of the OOBE complete flag. | 51 // A boolean pref of the OOBE complete flag. |
| 51 const wchar_t kOobeComplete[] = L"OobeComplete"; | 52 const wchar_t kOobeComplete[] = L"OobeComplete"; |
| 52 | 53 |
| 53 // Default size of the OOBE screen. | 54 // Default size of the OOBE screen. |
| 54 const int kWizardScreenWidth = 700; | 55 const int kWizardScreenWidth = 700; |
| 55 const int kWizardScreenHeight = 416; | 56 const int kWizardScreenHeight = 416; |
| 56 | 57 |
| 57 // RootView of the Widget WizardController creates. Contains the contents of the | 58 // RootView of the Widget WizardController creates. Contains the contents of the |
| 58 // WizardController. | 59 // WizardController. |
| 59 class ContentView : public views::View { | 60 class ContentView : public views::View { |
| 60 public: | 61 public: |
| 61 ContentView(int window_x, int window_y, int screen_w, int screen_h) | 62 ContentView(int window_x, int window_y, int screen_w, int screen_h) |
| 62 : window_x_(window_x), | 63 : window_x_(window_x), |
| 63 window_y_(window_y), | 64 window_y_(window_y), |
| 64 screen_w_(screen_w), | 65 screen_w_(screen_w), |
| 65 screen_h_(screen_h), | 66 screen_h_(screen_h), |
| 66 accel_account_screen_(views::Accelerator(base::VKEY_A, | 67 accel_account_screen_(views::Accelerator(base::VKEY_A, |
| 67 false, true, true)), | 68 false, true, true)), |
| 68 accel_login_screen_(views::Accelerator(base::VKEY_L, | 69 accel_login_screen_(views::Accelerator(base::VKEY_L, |
| 69 false, true, true)), | 70 false, true, true)), |
| 70 accel_network_screen_(views::Accelerator(base::VKEY_N, | 71 accel_network_screen_(views::Accelerator(base::VKEY_N, |
| 71 false, true, true)), | 72 false, true, true)), |
| 72 accel_update_screen_(views::Accelerator(base::VKEY_U, | 73 accel_update_screen_(views::Accelerator(base::VKEY_U, |
| 73 false, true, true)), | 74 false, true, true)), |
| 74 accel_image_screen_(views::Accelerator(base::VKEY_I, | 75 accel_image_screen_(views::Accelerator(base::VKEY_I, |
| 76 false, true, true)), |
| 77 accel_eula_screen_(views::Accelerator(base::VKEY_E, |
| 75 false, true, true)) { | 78 false, true, true)) { |
| 76 AddAccelerator(accel_account_screen_); | 79 AddAccelerator(accel_account_screen_); |
| 77 AddAccelerator(accel_login_screen_); | 80 AddAccelerator(accel_login_screen_); |
| 78 AddAccelerator(accel_network_screen_); | 81 AddAccelerator(accel_network_screen_); |
| 79 AddAccelerator(accel_update_screen_); | 82 AddAccelerator(accel_update_screen_); |
| 80 AddAccelerator(accel_image_screen_); | 83 AddAccelerator(accel_image_screen_); |
| 84 AddAccelerator(accel_eula_screen_); |
| 81 } | 85 } |
| 82 | 86 |
| 83 ~ContentView() { | 87 ~ContentView() { |
| 84 NotificationService::current()->Notify( | 88 NotificationService::current()->Notify( |
| 85 NotificationType::WIZARD_CONTENT_VIEW_DESTROYED, | 89 NotificationType::WIZARD_CONTENT_VIEW_DESTROYED, |
| 86 NotificationService::AllSources(), | 90 NotificationService::AllSources(), |
| 87 NotificationService::NoDetails()); | 91 NotificationService::NoDetails()); |
| 88 } | 92 } |
| 89 | 93 |
| 90 bool AcceleratorPressed(const views::Accelerator& accel) { | 94 bool AcceleratorPressed(const views::Accelerator& accel) { |
| 91 WizardController* controller = WizardController::default_controller(); | 95 WizardController* controller = WizardController::default_controller(); |
| 92 if (!controller) | 96 if (!controller) |
| 93 return false; | 97 return false; |
| 94 | 98 |
| 95 if (accel == accel_account_screen_) { | 99 if (accel == accel_account_screen_) { |
| 96 controller->ShowAccountScreen(); | 100 controller->ShowAccountScreen(); |
| 97 } else if (accel == accel_login_screen_) { | 101 } else if (accel == accel_login_screen_) { |
| 98 controller->ShowLoginScreen(); | 102 controller->ShowLoginScreen(); |
| 99 } else if (accel == accel_network_screen_) { | 103 } else if (accel == accel_network_screen_) { |
| 100 controller->ShowNetworkScreen(); | 104 controller->ShowNetworkScreen(); |
| 101 } else if (accel == accel_update_screen_) { | 105 } else if (accel == accel_update_screen_) { |
| 102 controller->ShowUpdateScreen(); | 106 controller->ShowUpdateScreen(); |
| 103 } else if (accel == accel_image_screen_) { | 107 } else if (accel == accel_image_screen_) { |
| 104 controller->ShowUserImageScreen(); | 108 controller->ShowUserImageScreen(); |
| 109 } else if (accel == accel_eula_screen_) { |
| 110 controller->ShowEulaScreen(); |
| 105 } else { | 111 } else { |
| 106 return false; | 112 return false; |
| 107 } | 113 } |
| 108 | 114 |
| 109 return true; | 115 return true; |
| 110 } | 116 } |
| 111 | 117 |
| 112 void PaintBackground(gfx::Canvas* canvas) { | 118 void PaintBackground(gfx::Canvas* canvas) { |
| 113 if (painter_.get()) { | 119 if (painter_.get()) { |
| 114 // TODO(sky): nuke this once new login manager is in place. This needs to | 120 // TODO(sky): nuke this once new login manager is in place. This needs to |
| (...skipping 18 matching lines...) Expand all Loading... |
| 133 const int window_x_; | 139 const int window_x_; |
| 134 const int window_y_; | 140 const int window_y_; |
| 135 const int screen_w_; | 141 const int screen_w_; |
| 136 const int screen_h_; | 142 const int screen_h_; |
| 137 | 143 |
| 138 views::Accelerator accel_account_screen_; | 144 views::Accelerator accel_account_screen_; |
| 139 views::Accelerator accel_login_screen_; | 145 views::Accelerator accel_login_screen_; |
| 140 views::Accelerator accel_network_screen_; | 146 views::Accelerator accel_network_screen_; |
| 141 views::Accelerator accel_update_screen_; | 147 views::Accelerator accel_update_screen_; |
| 142 views::Accelerator accel_image_screen_; | 148 views::Accelerator accel_image_screen_; |
| 149 views::Accelerator accel_eula_screen_; |
| 143 | 150 |
| 144 DISALLOW_COPY_AND_ASSIGN(ContentView); | 151 DISALLOW_COPY_AND_ASSIGN(ContentView); |
| 145 }; | 152 }; |
| 146 | 153 |
| 147 void DeleteWizardControllerAndLaunchBrowser(WizardController* controller) { | 154 void DeleteWizardControllerAndLaunchBrowser(WizardController* controller) { |
| 148 delete controller; | 155 delete controller; |
| 149 // Launch browser after controller is deleted and its windows are closed. | 156 // Launch browser after controller is deleted and its windows are closed. |
| 150 chromeos::LoginUtils::Get()->EnableBrowserLaunch(true); | 157 chromeos::LoginUtils::Get()->EnableBrowserLaunch(true); |
| 151 ChromeThread::PostTask( | 158 ChromeThread::PostTask( |
| 152 ChromeThread::UI, | 159 ChromeThread::UI, |
| 153 FROM_HERE, | 160 FROM_HERE, |
| 154 NewRunnableFunction(&chromeos::LoginUtils::DoBrowserLaunch, | 161 NewRunnableFunction(&chromeos::LoginUtils::DoBrowserLaunch, |
| 155 ProfileManager::GetDefaultProfile())); | 162 ProfileManager::GetDefaultProfile())); |
| 156 } | 163 } |
| 157 | 164 |
| 158 } // namespace | 165 } // namespace |
| 159 | 166 |
| 160 const char WizardController::kNetworkScreenName[] = "network"; | 167 const char WizardController::kNetworkScreenName[] = "network"; |
| 161 const char WizardController::kLoginScreenName[] = "login"; | 168 const char WizardController::kLoginScreenName[] = "login"; |
| 162 const char WizardController::kAccountScreenName[] = "account"; | 169 const char WizardController::kAccountScreenName[] = "account"; |
| 163 const char WizardController::kUpdateScreenName[] = "update"; | 170 const char WizardController::kUpdateScreenName[] = "update"; |
| 164 const char WizardController::kUserImageScreenName[] = "image"; | 171 const char WizardController::kUserImageScreenName[] = "image"; |
| 172 const char WizardController::kEulaScreenName[] = "eula"; |
| 165 const char WizardController::kRegistrationScreenName[] = "register"; | 173 const char WizardController::kRegistrationScreenName[] = "register"; |
| 166 | 174 |
| 167 // Passing this parameter as a "first screen" initiates full OOBE flow. | 175 // Passing this parameter as a "first screen" initiates full OOBE flow. |
| 168 const char WizardController::kOutOfBoxScreenName[] = "oobe"; | 176 const char WizardController::kOutOfBoxScreenName[] = "oobe"; |
| 169 | 177 |
| 170 // Special test value that commands not to create any window yet. | 178 // Special test value that commands not to create any window yet. |
| 171 const char WizardController::kTestNoScreenName[] = "test:nowindow"; | 179 const char WizardController::kTestNoScreenName[] = "test:nowindow"; |
| 172 | 180 |
| 173 // Initialize default controller. | 181 // Initialize default controller. |
| 174 // static | 182 // static |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 update_screen_.reset(new chromeos::UpdateScreen(this)); | 295 update_screen_.reset(new chromeos::UpdateScreen(this)); |
| 288 return update_screen_.get(); | 296 return update_screen_.get(); |
| 289 } | 297 } |
| 290 | 298 |
| 291 chromeos::UserImageScreen* WizardController::GetUserImageScreen() { | 299 chromeos::UserImageScreen* WizardController::GetUserImageScreen() { |
| 292 if (!user_image_screen_.get()) | 300 if (!user_image_screen_.get()) |
| 293 user_image_screen_.reset(new chromeos::UserImageScreen(this)); | 301 user_image_screen_.reset(new chromeos::UserImageScreen(this)); |
| 294 return user_image_screen_.get(); | 302 return user_image_screen_.get(); |
| 295 } | 303 } |
| 296 | 304 |
| 305 chromeos::EulaScreen* WizardController::GetEulaScreen() { |
| 306 if (!eula_screen_.get()) |
| 307 eula_screen_.reset(new chromeos::EulaScreen(this)); |
| 308 return eula_screen_.get(); |
| 309 } |
| 310 |
| 297 chromeos::RegistrationScreen* WizardController::GetRegistrationScreen() { | 311 chromeos::RegistrationScreen* WizardController::GetRegistrationScreen() { |
| 298 if (!registration_screen_.get()) | 312 if (!registration_screen_.get()) |
| 299 registration_screen_.reset(new chromeos::RegistrationScreen(this)); | 313 registration_screen_.reset(new chromeos::RegistrationScreen(this)); |
| 300 return registration_screen_.get(); | 314 return registration_screen_.get(); |
| 301 } | 315 } |
| 302 | 316 |
| 303 void WizardController::ShowNetworkScreen() { | 317 void WizardController::ShowNetworkScreen() { |
| 304 SetStatusAreaVisible(false); | 318 SetStatusAreaVisible(false); |
| 305 SetCurrentScreen(GetNetworkScreen()); | 319 SetCurrentScreen(GetNetworkScreen()); |
| 306 } | 320 } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 339 void WizardController::ShowUpdateScreen() { | 353 void WizardController::ShowUpdateScreen() { |
| 340 SetStatusAreaVisible(true); | 354 SetStatusAreaVisible(true); |
| 341 SetCurrentScreen(GetUpdateScreen()); | 355 SetCurrentScreen(GetUpdateScreen()); |
| 342 } | 356 } |
| 343 | 357 |
| 344 void WizardController::ShowUserImageScreen() { | 358 void WizardController::ShowUserImageScreen() { |
| 345 SetStatusAreaVisible(true); | 359 SetStatusAreaVisible(true); |
| 346 SetCurrentScreen(GetUserImageScreen()); | 360 SetCurrentScreen(GetUserImageScreen()); |
| 347 } | 361 } |
| 348 | 362 |
| 363 void WizardController::ShowEulaScreen() { |
| 364 SetStatusAreaVisible(false); |
| 365 SetCurrentScreen(GetEulaScreen()); |
| 366 } |
| 367 |
| 349 void WizardController::ShowRegistrationScreen() { | 368 void WizardController::ShowRegistrationScreen() { |
| 350 SetStatusAreaVisible(true); | 369 SetStatusAreaVisible(true); |
| 351 SetCurrentScreen(GetRegistrationScreen()); | 370 SetCurrentScreen(GetRegistrationScreen()); |
| 352 } | 371 } |
| 353 | 372 |
| 354 void WizardController::SetStatusAreaVisible(bool visible) { | 373 void WizardController::SetStatusAreaVisible(bool visible) { |
| 355 // When ExistingUserController passes background ownership | 374 // When ExistingUserController passes background ownership |
| 356 // to WizardController it happens after screen is shown. | 375 // to WizardController it happens after screen is shown. |
| 357 if (background_view_) { | 376 if (background_view_) { |
| 358 background_view_->SetStatusAreaVisible(visible); | 377 background_view_->SetStatusAreaVisible(visible); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 } | 444 } |
| 426 } | 445 } |
| 427 } | 446 } |
| 428 | 447 |
| 429 void WizardController::OnConnectionFailed() { | 448 void WizardController::OnConnectionFailed() { |
| 430 // TODO(dpolukhin): show error message after login screen is displayed. | 449 // TODO(dpolukhin): show error message after login screen is displayed. |
| 431 ShowLoginScreen(); | 450 ShowLoginScreen(); |
| 432 } | 451 } |
| 433 | 452 |
| 434 void WizardController::OnUpdateCompleted() { | 453 void WizardController::OnUpdateCompleted() { |
| 454 ShowEulaScreen(); |
| 455 } |
| 456 |
| 457 void WizardController::OnEulaAccepted() { |
| 435 MarkOobeCompleted(); | 458 MarkOobeCompleted(); |
| 436 ShowLoginScreen(); | 459 ShowLoginScreen(); |
| 437 } | 460 } |
| 438 | 461 |
| 439 void WizardController::OnUpdateErrorCheckingForUpdate() { | 462 void WizardController::OnUpdateErrorCheckingForUpdate() { |
| 440 MarkOobeCompleted(); | |
| 441 // TODO(nkostylev): Update should be required during OOBE. | 463 // TODO(nkostylev): Update should be required during OOBE. |
| 442 // We do not want to block users from being able to proceed to the login | 464 // We do not want to block users from being able to proceed to the login |
| 443 // screen if there is any error checking for an update. | 465 // screen if there is any error checking for an update. |
| 444 // They could use "browse without sign-in" feature to set up the network to be | 466 // They could use "browse without sign-in" feature to set up the network to be |
| 445 // able to perform the update later. | 467 // able to perform the update later. |
| 446 ShowLoginScreen(); | 468 ShowEulaScreen(); |
| 447 } | 469 } |
| 448 | 470 |
| 449 void WizardController::OnUpdateErrorUpdating() { | 471 void WizardController::OnUpdateErrorUpdating() { |
| 450 // If there was an error while getting or applying the update, | 472 // If there was an error while getting or applying the update, |
| 451 // return to network selection screen. | 473 // return to network selection screen. |
| 452 // TODO(nkostylev): Show message to the user explaining update error. | 474 // TODO(nkostylev): Show message to the user explaining update error. |
| 453 // TODO(nkostylev): Update should be required during OOBE. | 475 // TODO(nkostylev): Update should be required during OOBE. |
| 454 // Temporary fix, need to migrate to new API. http://crosbug.com/4321 | 476 // Temporary fix, need to migrate to new API. http://crosbug.com/4321 |
| 455 MarkOobeCompleted(); | 477 ShowEulaScreen(); |
| 456 ShowLoginScreen(); | |
| 457 } | 478 } |
| 458 | 479 |
| 459 void WizardController::OnUserImageSelected() { | 480 void WizardController::OnUserImageSelected() { |
| 460 // We're on the stack, so don't try and delete us now. | 481 // We're on the stack, so don't try and delete us now. |
| 461 // We should launch browser only after we delete the controller and close | 482 // We should launch browser only after we delete the controller and close |
| 462 // its windows. | 483 // its windows. |
| 463 ChromeThread::PostTask( | 484 ChromeThread::PostTask( |
| 464 ChromeThread::UI, | 485 ChromeThread::UI, |
| 465 FROM_HERE, | 486 FROM_HERE, |
| 466 NewRunnableFunction(&DeleteWizardControllerAndLaunchBrowser, | 487 NewRunnableFunction(&DeleteWizardControllerAndLaunchBrowser, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 // This flag is passed if we're running under automation test. | 522 // This flag is passed if we're running under automation test. |
| 502 is_test_mode_ = true; | 523 is_test_mode_ = true; |
| 503 ShowLoginScreen(); | 524 ShowLoginScreen(); |
| 504 } else if (first_screen_name == kAccountScreenName) { | 525 } else if (first_screen_name == kAccountScreenName) { |
| 505 ShowAccountScreen(); | 526 ShowAccountScreen(); |
| 506 } else if (first_screen_name == kUpdateScreenName) { | 527 } else if (first_screen_name == kUpdateScreenName) { |
| 507 ShowUpdateScreen(); | 528 ShowUpdateScreen(); |
| 508 GetUpdateScreen()->StartUpdate(); | 529 GetUpdateScreen()->StartUpdate(); |
| 509 } else if (first_screen_name == kUserImageScreenName) { | 530 } else if (first_screen_name == kUserImageScreenName) { |
| 510 ShowUserImageScreen(); | 531 ShowUserImageScreen(); |
| 532 } else if (first_screen_name == kEulaScreenName) { |
| 533 ShowEulaScreen(); |
| 511 } else if (first_screen_name == kRegistrationScreenName) { | 534 } else if (first_screen_name == kRegistrationScreenName) { |
| 512 ShowRegistrationScreen(); | 535 ShowRegistrationScreen(); |
| 513 } else if (first_screen_name != kTestNoScreenName) { | 536 } else if (first_screen_name != kTestNoScreenName) { |
| 514 if (is_out_of_box_) { | 537 if (is_out_of_box_) { |
| 515 ShowNetworkScreen(); | 538 ShowNetworkScreen(); |
| 516 } else { | 539 } else { |
| 517 ShowLoginScreen(); | 540 ShowLoginScreen(); |
| 518 } | 541 } |
| 519 } | 542 } |
| 520 } | 543 } |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 break; | 586 break; |
| 564 case UPDATE_ERROR_UPDATING: | 587 case UPDATE_ERROR_UPDATING: |
| 565 OnUpdateErrorUpdating(); | 588 OnUpdateErrorUpdating(); |
| 566 break; | 589 break; |
| 567 case USER_IMAGE_SELECTED: | 590 case USER_IMAGE_SELECTED: |
| 568 OnUserImageSelected(); | 591 OnUserImageSelected(); |
| 569 break; | 592 break; |
| 570 case USER_IMAGE_SKIPPED: | 593 case USER_IMAGE_SKIPPED: |
| 571 OnUserImageSkipped(); | 594 OnUserImageSkipped(); |
| 572 break; | 595 break; |
| 596 case EULA_ACCEPTED: |
| 597 OnEulaAccepted(); |
| 598 break; |
| 573 default: | 599 default: |
| 574 NOTREACHED(); | 600 NOTREACHED(); |
| 575 } | 601 } |
| 576 } | 602 } |
| 577 | 603 |
| 578 /////////////////////////////////////////////////////////////////////////////// | 604 /////////////////////////////////////////////////////////////////////////////// |
| 579 // WizardController, WizardScreen overrides: | 605 // WizardController, WizardScreen overrides: |
| 580 views::View* WizardController::GetWizardView() { | 606 views::View* WizardController::GetWizardView() { |
| 581 return contents_; | 607 return contents_; |
| 582 } | 608 } |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 662 if (!oobe_complete) | 688 if (!oobe_complete) |
| 663 controller->SetCustomization(customization.release()); | 689 controller->SetCustomization(customization.release()); |
| 664 controller->ShowBackground(screen_bounds); | 690 controller->ShowBackground(screen_bounds); |
| 665 controller->Init(first_screen_name, screen_bounds); | 691 controller->Init(first_screen_name, screen_bounds); |
| 666 controller->Show(); | 692 controller->Show(); |
| 667 if (chromeos::CrosLibrary::Get()->EnsureLoaded()) | 693 if (chromeos::CrosLibrary::Get()->EnsureLoaded()) |
| 668 chromeos::CrosLibrary::Get()->GetLoginLibrary()->EmitLoginPromptReady(); | 694 chromeos::CrosLibrary::Get()->GetLoginLibrary()->EmitLoginPromptReady(); |
| 669 } | 695 } |
| 670 | 696 |
| 671 } // namespace browser | 697 } // namespace browser |
| OLD | NEW |