OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "ash/system/user/tray_user_separator.h" | 5 #include "ash/system/user/tray_user_separator.h" |
6 | 6 |
7 #include "ash/session/session_state_delegate.h" | 7 #include "ash/session/session_state_delegate.h" |
8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
9 #include "ui/views/view.h" | 9 #include "ui/views/view.h" |
10 | 10 |
11 namespace ash { | 11 namespace ash { |
12 | 12 |
13 TrayUserSeparator::TrayUserSeparator(SystemTray* system_tray) | 13 TrayUserSeparator::TrayUserSeparator(SystemTray* system_tray) |
14 : SystemTrayItem(system_tray), | 14 : SystemTrayItem(system_tray), |
15 separator_shown_(false) { | 15 separator_shown_(false) { |
16 } | 16 } |
17 | 17 |
18 views::View* TrayUserSeparator::CreateTrayView(user::LoginStatus status) { | 18 views::View* TrayUserSeparator::CreateTrayView(user::LoginStatus status) { |
19 return NULL; | 19 return NULL; |
20 } | 20 } |
21 | 21 |
22 views::View* TrayUserSeparator::CreateDefaultView(user::LoginStatus status) { | 22 views::View* TrayUserSeparator::CreateDefaultView(user::LoginStatus status) { |
23 if (status == user::LOGGED_IN_NONE) | 23 if (status == user::LOGGED_IN_NONE) |
24 return NULL; | 24 return NULL; |
25 | 25 |
26 const SessionStateDelegate* session_state_delegate = | 26 const SessionStateDelegate* session_state_delegate = |
27 Shell::GetInstance()->session_state_delegate(); | 27 Shell::GetInstance()->session_state_delegate(); |
28 | 28 |
29 // If the screen is locked, or only a single user is shown, show nothing. | 29 // If the screen is locked, a system modal dialog or a single user is shown, |
| 30 // show nothing. |
30 if (session_state_delegate->IsUserSessionBlocked() || | 31 if (session_state_delegate->IsUserSessionBlocked() || |
| 32 Shell::GetInstance()->IsSystemModalWindowOpen() || |
31 session_state_delegate->NumberOfLoggedInUsers() < 2) | 33 session_state_delegate->NumberOfLoggedInUsers() < 2) |
32 return NULL; | 34 return NULL; |
33 | 35 |
34 separator_shown_ = true; | 36 separator_shown_ = true; |
35 return new views::View(); | 37 return new views::View(); |
36 } | 38 } |
37 | 39 |
38 views::View* TrayUserSeparator::CreateDetailedView(user::LoginStatus status) { | 40 views::View* TrayUserSeparator::CreateDetailedView(user::LoginStatus status) { |
39 return NULL; | 41 return NULL; |
40 } | 42 } |
41 | 43 |
42 void TrayUserSeparator::DestroyDefaultView() { | 44 void TrayUserSeparator::DestroyDefaultView() { |
43 separator_shown_ = false; | 45 separator_shown_ = false; |
44 } | 46 } |
45 | 47 |
46 } // namespace ash | 48 } // namespace ash |
OLD | NEW |