Roll src/third_party/WebKit f36d5e0:68b67cd (svn 193299:193303)
[chromium-blink-merge.git] / ash / system / user / tray_user_separator.h
blob2a7ab78024ef1c9e0e31dc8c05b889d672a7d95c
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.
5 #ifndef ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_
6 #define ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_
8 #include "ash/ash_export.h"
9 #include "ash/system/tray/system_tray_item.h"
11 namespace ash {
13 // This tray item is showing an additional separator line between the logged in
14 // users and the rest of the system tray menu. The separator will only be shown
15 // when there are at least two users logged in.
16 class ASH_EXPORT TrayUserSeparator : public SystemTrayItem {
17 public:
18 explicit TrayUserSeparator(SystemTray* system_tray);
19 ~TrayUserSeparator() override {}
21 // Returns true if the separator gets shown.
22 bool separator_shown() { return separator_shown_; }
24 private:
25 // Overridden from SystemTrayItem.
26 views::View* CreateTrayView(user::LoginStatus status) override;
27 views::View* CreateDefaultView(user::LoginStatus status) override;
28 views::View* CreateDetailedView(user::LoginStatus status) override;
29 void DestroyTrayView() override {}
30 void DestroyDefaultView() override;
31 void DestroyDetailedView() override {}
32 void UpdateAfterLoginStatusChange(user::LoginStatus status) override {}
33 void UpdateAfterShelfAlignmentChange(ShelfAlignment alignment) override {}
35 // True if the separator gets shown.
36 bool separator_shown_;
38 DISALLOW_COPY_AND_ASSIGN(TrayUserSeparator);
41 } // namespace ash
43 #endif // ASH_SYSTEM_USER_TRAY_USER_SEPARATOR_H_