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

Side by Side Diff: chrome/browser/chromeos/system/ash_system_tray_delegate.cc

Issue 23684033: Fix device policy recovery on CrOS login (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 3 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) 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/chromeos/system/ash_system_tray_delegate.h" 5 #include "chrome/browser/chromeos/system/ash_system_tray_delegate.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 policy_manager->core()->store()->RemoveObserver(this); 455 policy_manager->core()->store()->RemoveObserver(this);
456 } 456 }
457 457
458 // Overridden from ash::SystemTrayDelegate: 458 // Overridden from ash::SystemTrayDelegate:
459 virtual bool GetTrayVisibilityOnStartup() OVERRIDE { 459 virtual bool GetTrayVisibilityOnStartup() OVERRIDE {
460 // In case of OOBE / sign in screen tray will be shown later. 460 // In case of OOBE / sign in screen tray will be shown later.
461 return LoginState::Get()->IsUserLoggedIn(); 461 return LoginState::Get()->IsUserLoggedIn();
462 } 462 }
463 463
464 virtual ash::user::LoginStatus GetUserLoginStatus() const OVERRIDE { 464 virtual ash::user::LoginStatus GetUserLoginStatus() const OVERRIDE {
465 // Map ChromeOS specific LOGGED_IN states to Ash LOGGED_IN states. 465 // All non-logged in ChromeOS specific LOGGED_IN states map to the same
466 LoginState::LoggedInState state = LoginState::Get()->GetLoggedInState(); 466 // Ash specific LOGGED_IN state.
467 if (state == LoginState::LOGGED_IN_OOBE || 467 if (!LoginState::Get()->IsUserLoggedIn())
468 state == LoginState::LOGGED_IN_NONE) {
469 return ash::user::LOGGED_IN_NONE; 468 return ash::user::LOGGED_IN_NONE;
470 } 469
471 if (screen_locked_) 470 if (screen_locked_)
472 return ash::user::LOGGED_IN_LOCKED; 471 return ash::user::LOGGED_IN_LOCKED;
473 472
474 LoginState::LoggedInUserType user_type = 473 LoginState::LoggedInUserType user_type =
475 LoginState::Get()->GetLoggedInUserType(); 474 LoginState::Get()->GetLoggedInUserType();
476 switch (user_type) { 475 switch (user_type) {
477 case LoginState::LOGGED_IN_USER_NONE: 476 case LoginState::LOGGED_IN_USER_NONE:
478 return ash::user::LOGGED_IN_NONE; 477 return ash::user::LOGGED_IN_NONE;
479 case LoginState::LOGGED_IN_USER_REGULAR: 478 case LoginState::LOGGED_IN_USER_REGULAR:
480 return ash::user::LOGGED_IN_USER; 479 return ash::user::LOGGED_IN_USER;
481 case LoginState::LOGGED_IN_USER_OWNER: 480 case LoginState::LOGGED_IN_USER_OWNER:
482 return ash::user::LOGGED_IN_OWNER; 481 return ash::user::LOGGED_IN_OWNER;
483 case LoginState::LOGGED_IN_USER_GUEST: 482 case LoginState::LOGGED_IN_USER_GUEST:
484 return ash::user::LOGGED_IN_GUEST; 483 return ash::user::LOGGED_IN_GUEST;
485 case LoginState::LOGGED_IN_USER_RETAIL_MODE: 484 case LoginState::LOGGED_IN_USER_RETAIL_MODE:
486 return ash::user::LOGGED_IN_RETAIL_MODE; 485 return ash::user::LOGGED_IN_RETAIL_MODE;
487 case LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT: 486 case LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT:
488 return ash::user::LOGGED_IN_PUBLIC; 487 return ash::user::LOGGED_IN_PUBLIC;
489 case LoginState::LOGGED_IN_USER_LOCALLY_MANAGED: 488 case LoginState::LOGGED_IN_USER_LOCALLY_MANAGED:
490 return ash::user::LOGGED_IN_LOCALLY_MANAGED; 489 return ash::user::LOGGED_IN_LOCALLY_MANAGED;
491 case LoginState::LOGGED_IN_USER_KIOSK_APP: 490 case LoginState::LOGGED_IN_USER_KIOSK_APP:
492 return ash::user::LOGGED_IN_KIOSK_APP; 491 return ash::user::LOGGED_IN_KIOSK_APP;
493 } 492 }
494 NOTREACHED(); 493 NOTREACHED();
495 return ash::user::LOGGED_IN_NONE; 494 return ash::user::LOGGED_IN_NONE;
496 } 495 }
497 496
498 virtual bool IsOobeCompleted() const OVERRIDE { 497 virtual bool IsOobeCompleted() const OVERRIDE {
499 if (!base::chromeos::IsRunningOnChromeOS() && 498 if (!base::chromeos::IsRunningOnChromeOS() &&
500 LoginState::Get()->GetLoggedInState() == LoginState::LOGGED_IN_ACTIVE) 499 LoginState::Get()->IsUserLoggedIn())
501 return true; 500 return true;
502 return StartupUtils::IsOobeCompleted(); 501 return StartupUtils::IsOobeCompleted();
503 } 502 }
504 503
505 virtual void ChangeProfilePicture() OVERRIDE { 504 virtual void ChangeProfilePicture() OVERRIDE {
506 content::RecordAction( 505 content::RecordAction(
507 content::UserMetricsAction("OpenChangeProfilePictureDialog")); 506 content::UserMetricsAction("OpenChangeProfilePictureDialog"));
508 chrome::ShowSettingsSubPage(GetAppropriateBrowser(), 507 chrome::ShowSettingsSubPage(GetAppropriateBrowser(),
509 chrome::kChangeProfilePictureSubPage); 508 chrome::kChangeProfilePictureSubPage);
510 } 509 }
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after
1325 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate); 1324 DISALLOW_COPY_AND_ASSIGN(SystemTrayDelegate);
1326 }; 1325 };
1327 1326
1328 } // namespace 1327 } // namespace
1329 1328
1330 ash::SystemTrayDelegate* CreateSystemTrayDelegate() { 1329 ash::SystemTrayDelegate* CreateSystemTrayDelegate() {
1331 return new chromeos::SystemTrayDelegate(); 1330 return new chromeos::SystemTrayDelegate();
1332 } 1331 }
1333 1332
1334 } // namespace chromeos 1333 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698