• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "ash/system/user/tray_user_separator.h"
6 
7 #include "ash/session_state_delegate.h"
8 #include "ash/shell.h"
9 #include "ui/views/view.h"
10 
11 namespace ash {
12 namespace internal {
13 
TrayUserSeparator(SystemTray * system_tray)14 TrayUserSeparator::TrayUserSeparator(SystemTray* system_tray)
15     : SystemTrayItem(system_tray),
16       separator_shown_(false) {
17 }
18 
CreateTrayView(user::LoginStatus status)19 views::View* TrayUserSeparator::CreateTrayView(user::LoginStatus status) {
20   return NULL;
21 }
22 
CreateDefaultView(user::LoginStatus status)23 views::View* TrayUserSeparator::CreateDefaultView(user::LoginStatus status) {
24   if (status == user::LOGGED_IN_NONE)
25     return NULL;
26 
27   const SessionStateDelegate* session_state_delegate =
28       Shell::GetInstance()->session_state_delegate();
29 
30   // If the screen is locked, or only a single user is shown, show nothing.
31   if (session_state_delegate->IsUserSessionBlocked() ||
32       session_state_delegate->NumberOfLoggedInUsers() < 2)
33     return NULL;
34 
35   separator_shown_ = true;
36   return new views::View();
37 }
38 
CreateDetailedView(user::LoginStatus status)39 views::View* TrayUserSeparator::CreateDetailedView(user::LoginStatus status) {
40   return NULL;
41 }
42 
DestroyDefaultView()43 void TrayUserSeparator::DestroyDefaultView() {
44   separator_shown_ = false;
45 }
46 
47 }  // namespace internal
48 }  // namespace ash
49