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

Side by Side Diff: ash/common/system/overview/overview_button_tray.cc

Issue 2739763003: Moves maintaining ShellObservers back to Shell (Closed)
Patch Set: merge Created 3 years, 9 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/common/system/overview/overview_button_tray.h" 5 #include "ash/common/system/overview/overview_button_tray.h"
6 6
7 #include "ash/common/session/session_state_delegate.h" 7 #include "ash/common/session/session_state_delegate.h"
8 #include "ash/common/shelf/shelf_constants.h" 8 #include "ash/common/shelf/shelf_constants.h"
9 #include "ash/common/system/tray/system_tray_delegate.h" 9 #include "ash/common/system/tray/system_tray_delegate.h"
10 #include "ash/common/system/tray/tray_constants.h" 10 #include "ash/common/system/tray/tray_constants.h"
11 #include "ash/common/wm/maximize_mode/maximize_mode_controller.h" 11 #include "ash/common/wm/maximize_mode/maximize_mode_controller.h"
12 #include "ash/common/wm/overview/window_selector_controller.h" 12 #include "ash/common/wm/overview/window_selector_controller.h"
13 #include "ash/common/wm_shell.h" 13 #include "ash/common/wm_shell.h"
14 #include "ash/resources/vector_icons/vector_icons.h" 14 #include "ash/resources/vector_icons/vector_icons.h"
15 #include "ash/shell.h"
15 #include "ash/strings/grit/ash_strings.h" 16 #include "ash/strings/grit/ash_strings.h"
16 #include "ui/base/l10n/l10n_util.h" 17 #include "ui/base/l10n/l10n_util.h"
17 #include "ui/gfx/paint_vector_icon.h" 18 #include "ui/gfx/paint_vector_icon.h"
18 #include "ui/views/border.h" 19 #include "ui/views/border.h"
19 #include "ui/views/controls/image_view.h" 20 #include "ui/views/controls/image_view.h"
20 21
21 namespace ash { 22 namespace ash {
22 23
23 OverviewButtonTray::OverviewButtonTray(WmShelf* wm_shelf) 24 OverviewButtonTray::OverviewButtonTray(WmShelf* wm_shelf)
24 : TrayBackgroundView(wm_shelf), icon_(new views::ImageView()) { 25 : TrayBackgroundView(wm_shelf), icon_(new views::ImageView()) {
25 SetInkDropMode(InkDropMode::ON); 26 SetInkDropMode(InkDropMode::ON);
26 SetContentsBackground(false); 27 SetContentsBackground(false);
27 28
28 icon_->SetImage(CreateVectorIcon(kShelfOverviewIcon, kShelfIconColor)); 29 icon_->SetImage(CreateVectorIcon(kShelfOverviewIcon, kShelfIconColor));
29 SetIconBorderForShelfAlignment(); 30 SetIconBorderForShelfAlignment();
30 tray_container()->AddChildView(icon_); 31 tray_container()->AddChildView(icon_);
31 32
32 // Since OverviewButtonTray is located on the rightmost position of a 33 // Since OverviewButtonTray is located on the rightmost position of a
33 // horizontal shelf, no separator is required. 34 // horizontal shelf, no separator is required.
34 set_separator_visibility(false); 35 set_separator_visibility(false);
35 36
36 WmShell::Get()->AddShellObserver(this); 37 Shell::GetInstance()->AddShellObserver(this);
37 WmShell::Get()->GetSessionStateDelegate()->AddSessionStateObserver(this); 38 WmShell::Get()->GetSessionStateDelegate()->AddSessionStateObserver(this);
38 } 39 }
39 40
40 OverviewButtonTray::~OverviewButtonTray() { 41 OverviewButtonTray::~OverviewButtonTray() {
41 WmShell::Get()->RemoveShellObserver(this); 42 Shell::GetInstance()->RemoveShellObserver(this);
42 WmShell::Get()->GetSessionStateDelegate()->RemoveSessionStateObserver(this); 43 WmShell::Get()->GetSessionStateDelegate()->RemoveSessionStateObserver(this);
43 } 44 }
44 45
45 void OverviewButtonTray::UpdateAfterLoginStatusChange(LoginStatus status) { 46 void OverviewButtonTray::UpdateAfterLoginStatusChange(LoginStatus status) {
46 UpdateIconVisibility(); 47 UpdateIconVisibility();
47 } 48 }
48 49
49 bool OverviewButtonTray::PerformAction(const ui::Event& event) { 50 bool OverviewButtonTray::PerformAction(const ui::Event& event) {
50 WindowSelectorController* controller = 51 WindowSelectorController* controller =
51 WmShell::Get()->window_selector_controller(); 52 WmShell::Get()->window_selector_controller();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 !session_state_delegate->IsScreenLocked() && 120 !session_state_delegate->IsScreenLocked() &&
120 session_state_delegate->GetSessionState() == 121 session_state_delegate->GetSessionState() ==
121 session_manager::SessionState::ACTIVE && 122 session_manager::SessionState::ACTIVE &&
122 shell->system_tray_delegate()->GetUserLoginStatus() != 123 shell->system_tray_delegate()->GetUserLoginStatus() !=
123 LoginStatus::KIOSK_APP && 124 LoginStatus::KIOSK_APP &&
124 shell->system_tray_delegate()->GetUserLoginStatus() != 125 shell->system_tray_delegate()->GetUserLoginStatus() !=
125 LoginStatus::ARC_KIOSK_APP); 126 LoginStatus::ARC_KIOSK_APP);
126 } 127 }
127 128
128 } // namespace ash 129 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698