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

Side by Side Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 5809001: Removed old login screen from source. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fixed comments Created 9 years, 11 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 | Annotate | Revision Log
OLDNEW
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
(...skipping 14 matching lines...) Expand all
25 #include "chrome/browser/chromeos/input_method/input_method_util.h" 25 #include "chrome/browser/chromeos/input_method/input_method_util.h"
26 #include "chrome/browser/chromeos/language_preferences.h" 26 #include "chrome/browser/chromeos/language_preferences.h"
27 #include "chrome/browser/chromeos/login/account_screen.h" 27 #include "chrome/browser/chromeos/login/account_screen.h"
28 #include "chrome/browser/chromeos/login/apply_services_customization.h" 28 #include "chrome/browser/chromeos/login/apply_services_customization.h"
29 #include "chrome/browser/chromeos/login/background_view.h" 29 #include "chrome/browser/chromeos/login/background_view.h"
30 #include "chrome/browser/chromeos/login/eula_view.h" 30 #include "chrome/browser/chromeos/login/eula_view.h"
31 #include "chrome/browser/chromeos/login/existing_user_controller.h" 31 #include "chrome/browser/chromeos/login/existing_user_controller.h"
32 #include "chrome/browser/chromeos/login/helper.h" 32 #include "chrome/browser/chromeos/login/helper.h"
33 #include "chrome/browser/chromeos/login/html_page_screen.h" 33 #include "chrome/browser/chromeos/login/html_page_screen.h"
34 #include "chrome/browser/chromeos/login/language_switch_menu.h" 34 #include "chrome/browser/chromeos/login/language_switch_menu.h"
35 #include "chrome/browser/chromeos/login/login_screen.h"
36 #include "chrome/browser/chromeos/login/login_utils.h" 35 #include "chrome/browser/chromeos/login/login_utils.h"
37 #include "chrome/browser/chromeos/login/network_screen.h" 36 #include "chrome/browser/chromeos/login/network_screen.h"
38 #include "chrome/browser/chromeos/login/registration_screen.h" 37 #include "chrome/browser/chromeos/login/registration_screen.h"
39 #include "chrome/browser/chromeos/login/rounded_rect_painter.h" 38 #include "chrome/browser/chromeos/login/rounded_rect_painter.h"
40 #include "chrome/browser/chromeos/login/update_screen.h" 39 #include "chrome/browser/chromeos/login/update_screen.h"
41 #include "chrome/browser/chromeos/login/user_image_screen.h" 40 #include "chrome/browser/chromeos/login/user_image_screen.h"
42 #include "chrome/browser/chromeos/login/user_manager.h" 41 #include "chrome/browser/chromeos/login/user_manager.h"
43 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h" 42 #include "chrome/browser/chromeos/login/wizard_accessibility_helper.h"
44 #include "chrome/browser/chromeos/wm_ipc.h" 43 #include "chrome/browser/chromeos/wm_ipc.h"
45 #include "chrome/browser/prefs/pref_service.h" 44 #include "chrome/browser/prefs/pref_service.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 background_widget_(NULL), 252 background_widget_(NULL),
254 background_view_(NULL), 253 background_view_(NULL),
255 contents_(NULL), 254 contents_(NULL),
256 current_screen_(NULL), 255 current_screen_(NULL),
257 #if defined(OFFICIAL_BUILD) 256 #if defined(OFFICIAL_BUILD)
258 is_official_build_(true), 257 is_official_build_(true),
259 #else 258 #else
260 is_official_build_(false), 259 is_official_build_(false),
261 #endif 260 #endif
262 is_out_of_box_(false), 261 is_out_of_box_(false),
263 is_test_mode_(false),
264 observer_(NULL) { 262 observer_(NULL) {
265 DCHECK(default_controller_ == NULL); 263 DCHECK(default_controller_ == NULL);
266 default_controller_ = this; 264 default_controller_ = this;
267 registrar_.Add( 265 registrar_.Add(
268 this, 266 this,
269 NotificationType::APP_TERMINATING, 267 NotificationType::APP_TERMINATING,
270 NotificationService::AllSources()); 268 NotificationService::AllSources());
271 } 269 }
272 270
273 WizardController::~WizardController() { 271 WizardController::~WizardController() {
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 GetUpdateScreen()->CancelUpdate(); 337 GetUpdateScreen()->CancelUpdate();
340 } 338 }
341 } 339 }
342 340
343 chromeos::NetworkScreen* WizardController::GetNetworkScreen() { 341 chromeos::NetworkScreen* WizardController::GetNetworkScreen() {
344 if (!network_screen_.get()) 342 if (!network_screen_.get())
345 network_screen_.reset(new chromeos::NetworkScreen(this)); 343 network_screen_.reset(new chromeos::NetworkScreen(this));
346 return network_screen_.get(); 344 return network_screen_.get();
347 } 345 }
348 346
349 chromeos::LoginScreen* WizardController::GetLoginScreen() {
350 if (!login_screen_.get())
351 login_screen_.reset(new chromeos::LoginScreen(this));
352 return login_screen_.get();
353 }
354
355 chromeos::AccountScreen* WizardController::GetAccountScreen() { 347 chromeos::AccountScreen* WizardController::GetAccountScreen() {
356 if (!account_screen_.get()) 348 if (!account_screen_.get())
357 account_screen_.reset(new chromeos::AccountScreen(this)); 349 account_screen_.reset(new chromeos::AccountScreen(this));
358 return account_screen_.get(); 350 return account_screen_.get();
359 } 351 }
360 352
361 chromeos::UpdateScreen* WizardController::GetUpdateScreen() { 353 chromeos::UpdateScreen* WizardController::GetUpdateScreen() {
362 if (!update_screen_.get()) { 354 if (!update_screen_.get()) {
363 update_screen_.reset(new chromeos::UpdateScreen(this)); 355 update_screen_.reset(new chromeos::UpdateScreen(this));
364 update_screen_->SetRebootCheckDelay(kWaitForRebootTimeSec); 356 update_screen_->SetRebootCheckDelay(kWaitForRebootTimeSec);
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 background_view_->SetOobeProgress(chromeos::BackgroundView::SELECT_NETWORK); 399 background_view_->SetOobeProgress(chromeos::BackgroundView::SELECT_NETWORK);
408 } 400 }
409 401
410 chromeos::ExistingUserController* WizardController::ShowLoginScreen() { 402 chromeos::ExistingUserController* WizardController::ShowLoginScreen() {
411 SetStatusAreaVisible(true); 403 SetStatusAreaVisible(true);
412 background_view_->SetOobeProgress(chromeos::BackgroundView::SIGNIN); 404 background_view_->SetOobeProgress(chromeos::BackgroundView::SIGNIN);
413 405
414 // Initiate services customization. 406 // Initiate services customization.
415 chromeos::ApplyServicesCustomization::StartIfNeeded(); 407 chromeos::ApplyServicesCustomization::StartIfNeeded();
416 408
417 // When run under automation test show plain login screen. 409 std::vector<chromeos::UserManager::User> users;
418 if (!is_test_mode_ && 410 if (chromeos::CrosLibrary::Get()->EnsureLoaded())
419 chromeos::CrosLibrary::Get()->EnsureLoaded() && 411 users = chromeos::UserManager::Get()->GetUsers();
420 CommandLine::ForCurrentProcess()->HasSwitch(
421 switches::kEnableLoginImages)) {
422 std::vector<chromeos::UserManager::User> users =
423 chromeos::UserManager::Get()->GetUsers();
424 // ExistingUserController deletes itself.
425 gfx::Rect screen_bounds;
426 background_widget_->GetBounds(&screen_bounds, true);
427 chromeos::ExistingUserController* controller =
428 new chromeos::ExistingUserController(users, screen_bounds);
429 controller->OwnBackground(background_widget_, background_view_);
430 controller->Init();
431 background_widget_ = NULL;
432 background_view_ = NULL;
433 412
434 MessageLoop::current()->DeleteSoon(FROM_HERE, this); 413 // ExistingUserController deletes itself.
414 gfx::Rect screen_bounds;
415 background_widget_->GetBounds(&screen_bounds, true);
416 chromeos::ExistingUserController* controller =
417 new chromeos::ExistingUserController(users, screen_bounds);
418 controller->OwnBackground(background_widget_, background_view_);
419 controller->Init();
420 background_widget_ = NULL;
421 background_view_ = NULL;
435 422
436 return controller; 423 MessageLoop::current()->DeleteSoon(FROM_HERE, this);
437 }
438 424
439 SetCurrentScreen(GetLoginScreen()); 425 return controller;
440 return NULL;
441 } 426 }
442 427
443 void WizardController::ShowAccountScreen() { 428 void WizardController::ShowAccountScreen() {
444 VLOG(1) << "Showing create account screen."; 429 VLOG(1) << "Showing create account screen.";
445 SetStatusAreaVisible(true); 430 SetStatusAreaVisible(true);
446 SetCurrentScreen(GetAccountScreen()); 431 SetCurrentScreen(GetAccountScreen());
447 } 432 }
448 433
449 void WizardController::ShowUpdateScreen() { 434 void WizardController::ShowUpdateScreen() {
450 VLOG(1) << "Showing update screen."; 435 VLOG(1) << "Showing update screen.";
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 local_state->RegisterBooleanPref(kEulaAccepted, false); 517 local_state->RegisterBooleanPref(kEulaAccepted, false);
533 // Check if the pref is already registered in case 518 // Check if the pref is already registered in case
534 // Preferences::RegisterUserPrefs runs before this code in the future. 519 // Preferences::RegisterUserPrefs runs before this code in the future.
535 if (local_state->FindPreference(prefs::kAccessibilityEnabled) == NULL) { 520 if (local_state->FindPreference(prefs::kAccessibilityEnabled) == NULL) {
536 local_state->RegisterBooleanPref(prefs::kAccessibilityEnabled, false); 521 local_state->RegisterBooleanPref(prefs::kAccessibilityEnabled, false);
537 } 522 }
538 } 523 }
539 524
540 /////////////////////////////////////////////////////////////////////////////// 525 ///////////////////////////////////////////////////////////////////////////////
541 // WizardController, ExitHandlers: 526 // WizardController, ExitHandlers:
542 void WizardController::OnLoginSignInSelected() {
543 // Don't show user image screen in case of automated testing.
544 if (is_test_mode_) {
545 MessageLoop::current()->DeleteSoon(FROM_HERE, this);
546 return;
547 }
548 // Don't launch browser until we pass image screen.
549 chromeos::LoginUtils::Get()->EnableBrowserLaunch(false);
550 ShowUserImageScreen();
551 }
552
553 void WizardController::OnLoginGuestUser() {
554 // We're on the stack, so don't try and delete us now.
555 MessageLoop::current()->DeleteSoon(FROM_HERE, this);
556 }
557
558 void WizardController::OnLoginCreateAccount() {
559 ShowAccountScreen();
560 }
561
562 void WizardController::OnNetworkConnected() { 527 void WizardController::OnNetworkConnected() {
563 if (is_official_build_) { 528 if (is_official_build_) {
564 if (!IsEulaAccepted()) { 529 if (!IsEulaAccepted()) {
565 ShowEulaScreen(); 530 ShowEulaScreen();
566 } else { 531 } else {
567 // Possible cases: 532 // Possible cases:
568 // 1. EULA was accepted, forced shutdown/reboot during update. 533 // 1. EULA was accepted, forced shutdown/reboot during update.
569 // 2. EULA was accepted, planned reboot after update. 534 // 2. EULA was accepted, planned reboot after update.
570 // Make sure that device is up-to-date. 535 // Make sure that device is up-to-date.
571 InitiateOOBEUpdate(); 536 InitiateOOBEUpdate();
572 } 537 }
573 } else { 538 } else {
574 InitiateOOBEUpdate(); 539 InitiateOOBEUpdate();
575 } 540 }
576 } 541 }
577 542
578 void WizardController::OnNetworkOffline() { 543 void WizardController::OnNetworkOffline() {
579 // TODO(dpolukhin): if(is_out_of_box_) we cannot work offline and 544 // TODO(dpolukhin): if(is_out_of_box_) we cannot work offline and
580 // should report some error message here and stay on the same screen. 545 // should report some error message here and stay on the same screen.
581 ShowLoginScreen(); 546 ShowLoginScreen();
582 } 547 }
583 548
584 void WizardController::OnAccountCreateBack() { 549 void WizardController::OnAccountCreateBack() {
585 chromeos::ExistingUserController* controller = ShowLoginScreen(); 550 chromeos::ExistingUserController* controller = ShowLoginScreen();
586 if (controller) 551 DCHECK(controller);
587 controller->SelectNewUser(); 552 controller->SelectNewUser();
588 } 553 }
589 554
590 void WizardController::OnAccountCreated() { 555 void WizardController::OnAccountCreated() {
591 chromeos::ExistingUserController* controller = ShowLoginScreen(); 556 chromeos::ExistingUserController* controller = ShowLoginScreen();
592 if (controller) 557 DCHECK(controller);
593 controller->LoginNewUser(username_, password_); 558 controller->LoginNewUser(username_, password_);
594 else
595 Login(username_, password_);
596 // TODO(dpolukhin): clear password memory for real. Now it is not 559 // TODO(dpolukhin): clear password memory for real. Now it is not
597 // a problem because we can't extract password from the form. 560 // a problem because we can't extract password from the form.
598 password_.clear(); 561 password_.clear();
599 } 562 }
600 563
601 void WizardController::OnConnectionFailed() { 564 void WizardController::OnConnectionFailed() {
602 // TODO(dpolukhin): show error message after login screen is displayed. 565 // TODO(dpolukhin): show error message after login screen is displayed.
603 ShowLoginScreen(); 566 ShowLoginScreen();
604 } 567 }
605 568
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 // to WizardController it happens after screen is shown. 718 // to WizardController it happens after screen is shown.
756 if (background_view_) { 719 if (background_view_) {
757 background_view_->SetStatusAreaVisible(visible); 720 background_view_->SetStatusAreaVisible(visible);
758 } 721 }
759 } 722 }
760 723
761 void WizardController::ShowFirstScreen(const std::string& first_screen_name) { 724 void WizardController::ShowFirstScreen(const std::string& first_screen_name) {
762 if (first_screen_name == kNetworkScreenName) { 725 if (first_screen_name == kNetworkScreenName) {
763 ShowNetworkScreen(); 726 ShowNetworkScreen();
764 } else if (first_screen_name == kLoginScreenName) { 727 } else if (first_screen_name == kLoginScreenName) {
765 // This flag is passed if we're running under automation test.
766 is_test_mode_ = true;
767 ShowLoginScreen(); 728 ShowLoginScreen();
768 } else if (first_screen_name == kAccountScreenName) { 729 } else if (first_screen_name == kAccountScreenName) {
769 ShowAccountScreen(); 730 ShowAccountScreen();
770 } else if (first_screen_name == kUpdateScreenName) { 731 } else if (first_screen_name == kUpdateScreenName) {
771 InitiateOOBEUpdate(); 732 InitiateOOBEUpdate();
772 } else if (first_screen_name == kUserImageScreenName) { 733 } else if (first_screen_name == kUserImageScreenName) {
773 ShowUserImageScreen(); 734 ShowUserImageScreen();
774 } else if (first_screen_name == kEulaScreenName) { 735 } else if (first_screen_name == kEulaScreenName) {
775 ShowEulaScreen(); 736 ShowEulaScreen();
776 } else if (first_screen_name == kRegistrationScreenName) { 737 } else if (first_screen_name == kRegistrationScreenName) {
777 if (is_official_build_) { 738 if (is_official_build_) {
778 ShowRegistrationScreen(); 739 ShowRegistrationScreen();
779 } else { 740 } else {
780 // Just proceed to image screen. 741 // Just proceed to image screen.
781 OnRegistrationSuccess(); 742 OnRegistrationSuccess();
782 } 743 }
783 } else if (first_screen_name == kHTMLPageScreenName) { 744 } else if (first_screen_name == kHTMLPageScreenName) {
784 ShowHTMLPageScreen(); 745 ShowHTMLPageScreen();
785 } else if (first_screen_name != kTestNoScreenName) { 746 } else if (first_screen_name != kTestNoScreenName) {
786 if (is_out_of_box_) { 747 if (is_out_of_box_) {
787 ShowNetworkScreen(); 748 ShowNetworkScreen();
788 } else { 749 } else {
789 ShowLoginScreen(); 750 ShowLoginScreen();
790 } 751 }
791 } 752 }
792 } 753 }
793 754
794 void WizardController::Login(const std::string& username,
795 const std::string& password) {
796 chromeos::LoginScreen* login = GetLoginScreen();
797 if (username.empty())
798 return;
799 login->view()->SetUsername(username);
800
801 if (password.empty())
802 return;
803 login->view()->SetPassword(password);
804 login->view()->Login();
805 }
806
807 // static 755 // static
808 bool WizardController::IsEulaAccepted() { 756 bool WizardController::IsEulaAccepted() {
809 return g_browser_process->local_state()->GetBoolean(kEulaAccepted); 757 return g_browser_process->local_state()->GetBoolean(kEulaAccepted);
810 } 758 }
811 759
812 // static 760 // static
813 bool WizardController::IsOobeCompleted() { 761 bool WizardController::IsOobeCompleted() {
814 return g_browser_process->local_state()->GetBoolean(kOobeComplete); 762 return g_browser_process->local_state()->GetBoolean(kOobeComplete);
815 } 763 }
816 764
(...skipping 23 matching lines...) Expand all
840 else 788 else
841 manifest = LoadStartupManifest(); 789 manifest = LoadStartupManifest();
842 return IsRegistrationScreenValid(manifest); 790 return IsRegistrationScreenValid(manifest);
843 } 791 }
844 792
845 // static 793 // static
846 void WizardController::MarkDeviceRegistered() { 794 void WizardController::MarkDeviceRegistered() {
847 // Create flag file for boot-time init scripts. 795 // Create flag file for boot-time init scripts.
848 FilePath oobe_complete_path(kOobeCompleteFlagFilePath); 796 FilePath oobe_complete_path(kOobeCompleteFlagFilePath);
849 FILE* oobe_flag_file = file_util::OpenFile(oobe_complete_path, "w+b"); 797 FILE* oobe_flag_file = file_util::OpenFile(oobe_complete_path, "w+b");
850 DCHECK(oobe_flag_file != NULL) << kOobeCompleteFlagFilePath; 798 if (oobe_flag_file == NULL)
851 if (oobe_flag_file != NULL) 799 DLOG(WARNING) << kOobeCompleteFlagFilePath << " doesn't exist.";
800 else
852 file_util::CloseFile(oobe_flag_file); 801 file_util::CloseFile(oobe_flag_file);
853 } 802 }
854 803
855 /////////////////////////////////////////////////////////////////////////////// 804 ///////////////////////////////////////////////////////////////////////////////
856 // WizardController, chromeos::ScreenObserver overrides: 805 // WizardController, chromeos::ScreenObserver overrides:
857 void WizardController::OnExit(ExitCodes exit_code) { 806 void WizardController::OnExit(ExitCodes exit_code) {
858 LOG(INFO) << "Wizard screen exit code: " << exit_code; 807 LOG(INFO) << "Wizard screen exit code: " << exit_code;
859 switch (exit_code) { 808 switch (exit_code) {
860 case LOGIN_SIGN_IN_SELECTED:
861 OnLoginSignInSelected();
862 break;
863 case LOGIN_GUEST_SELECTED:
864 OnLoginGuestUser();
865 break;
866 case LOGIN_CREATE_ACCOUNT:
867 OnLoginCreateAccount();
868 break;
869 case NETWORK_CONNECTED: 809 case NETWORK_CONNECTED:
870 OnNetworkConnected(); 810 OnNetworkConnected();
871 break; 811 break;
872 case NETWORK_OFFLINE: 812 case NETWORK_OFFLINE:
873 OnNetworkOffline(); 813 OnNetworkOffline();
874 break; 814 break;
875 case ACCOUNT_CREATE_BACK: 815 case ACCOUNT_CREATE_BACK:
876 OnAccountCreateBack(); 816 OnAccountCreateBack();
877 break; 817 break;
878 case ACCOUNT_CREATED: 818 case ACCOUNT_CREATED:
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 chromeos::language_prefs::kPreferredKeyboardLayout); 893 chromeos::language_prefs::kPreferredKeyboardLayout);
954 chromeos::input_method::EnableInputMethods( 894 chromeos::input_method::EnableInputMethods(
955 locale, chromeos::input_method::kKeyboardLayoutsOnly, 895 locale, chromeos::input_method::kKeyboardLayoutsOnly,
956 initial_input_method_id); 896 initial_input_method_id);
957 } 897 }
958 898
959 gfx::Rect screen_bounds(chromeos::CalculateScreenBounds(size)); 899 gfx::Rect screen_bounds(chromeos::CalculateScreenBounds(size));
960 900
961 // Check whether we need to execute OOBE process. 901 // Check whether we need to execute OOBE process.
962 bool oobe_complete = WizardController::IsOobeCompleted(); 902 bool oobe_complete = WizardController::IsOobeCompleted();
903 bool show_login_screen =
904 (first_screen_name.empty() && oobe_complete) ||
905 first_screen_name == WizardController::kLoginScreenName;
963 906
964 if (first_screen_name.empty() && 907 if (show_login_screen && chromeos::CrosLibrary::Get()->EnsureLoaded()) {
965 oobe_complete &&
966 chromeos::CrosLibrary::Get()->EnsureLoaded() &&
967 CommandLine::ForCurrentProcess()->HasSwitch(
968 switches::kEnableLoginImages)) {
969 std::vector<chromeos::UserManager::User> users = 908 std::vector<chromeos::UserManager::User> users =
970 chromeos::UserManager::Get()->GetUsers(); 909 chromeos::UserManager::Get()->GetUsers();
971 910
972 // Fix for users who updated device and thus never passed register screen. 911 // Fix for users who updated device and thus never passed register screen.
973 // If we already have user we assume that it is not a second part of OOBE. 912 // If we already have users, we assume that it is not a second part of
974 // See http://crosbug.com/6289 913 // OOBE. See http://crosbug.com/6289
975 if (!WizardController::IsDeviceRegistered() && !users.empty()) { 914 if (!WizardController::IsDeviceRegistered() && !users.empty()) {
976 VLOG(1) << "Mark device registered because there are remembered users: " 915 VLOG(1) << "Mark device registered because there are remembered users: "
977 << users.size(); 916 << users.size();
978 WizardController::MarkDeviceRegistered(); 917 WizardController::MarkDeviceRegistered();
979 } 918 }
980 919
981 // ExistingUserController deletes itself. 920 // ExistingUserController deletes itself.
982 (new chromeos::ExistingUserController(users, screen_bounds))->Init(); 921 (new chromeos::ExistingUserController(users, screen_bounds))->Init();
983 922
984 // Initiate services customization. 923 // Initiate services customization.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1035 // user has changed to during OOBE. 974 // user has changed to during OOBE.
1036 if (!timezone_name.empty()) { 975 if (!timezone_name.empty()) {
1037 icu::TimeZone* timezone = icu::TimeZone::createTimeZone( 976 icu::TimeZone* timezone = icu::TimeZone::createTimeZone(
1038 icu::UnicodeString::fromUTF8(timezone_name)); 977 icu::UnicodeString::fromUTF8(timezone_name));
1039 chromeos::CrosLibrary::Get()->GetSystemLibrary()->SetTimezone(timezone); 978 chromeos::CrosLibrary::Get()->GetSystemLibrary()->SetTimezone(timezone);
1040 } 979 }
1041 } 980 }
1042 } 981 }
1043 982
1044 } // namespace browser 983 } // namespace browser
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.h ('k') | chrome/browser/chromeos/login/wizard_controller_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698