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

Side by Side Diff: ash/wm/power_button_controller.cc

Issue 2095193002: clang-format all of //ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
« no previous file with comments | « ash/wm/power_button_controller.h ('k') | ash/wm/resize_handle_window_targeter.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ash/wm/power_button_controller.h" 5 #include "ash/wm/power_button_controller.h"
6 6
7 #include "ash/common/ash_switches.h" 7 #include "ash/common/ash_switches.h"
8 #include "ash/common/session/session_state_delegate.h" 8 #include "ash/common/session/session_state_delegate.h"
9 #include "ash/common/shell_window_ids.h" 9 #include "ash/common/shell_window_ids.h"
10 #include "ash/shell.h" 10 #include "ash/shell.h"
11 #include "ash/wm/lock_state_controller.h" 11 #include "ash/wm/lock_state_controller.h"
12 #include "ash/wm/maximize_mode/maximize_mode_controller.h" 12 #include "ash/wm/maximize_mode/maximize_mode_controller.h"
13 #include "ash/wm/session_state_animator.h" 13 #include "ash/wm/session_state_animator.h"
14 #include "base/command_line.h" 14 #include "base/command_line.h"
15 #include "ui/aura/window_event_dispatcher.h" 15 #include "ui/aura/window_event_dispatcher.h"
16 #include "ui/display/types/display_snapshot.h" 16 #include "ui/display/types/display_snapshot.h"
17 #include "ui/events/event_handler.h" 17 #include "ui/events/event_handler.h"
18 #include "ui/wm/core/compound_event_filter.h" 18 #include "ui/wm/core/compound_event_filter.h"
19 19
20 namespace ash { 20 namespace ash {
21 21
22 PowerButtonController::PowerButtonController(LockStateController* controller) 22 PowerButtonController::PowerButtonController(LockStateController* controller)
23 : power_button_down_(false), 23 : power_button_down_(false),
24 lock_button_down_(false), 24 lock_button_down_(false),
25 volume_down_pressed_(false), 25 volume_down_pressed_(false),
26 brightness_is_zero_(false), 26 brightness_is_zero_(false),
27 internal_display_off_and_external_display_on_(false), 27 internal_display_off_and_external_display_on_(false),
28 has_legacy_power_button_( 28 has_legacy_power_button_(
29 base::CommandLine::ForCurrentProcess() 29 base::CommandLine::ForCurrentProcess()->HasSwitch(
30 ->HasSwitch(switches::kAuraLegacyPowerButton)), 30 switches::kAuraLegacyPowerButton)),
31 #if defined(OS_CHROMEOS) 31 #if defined(OS_CHROMEOS)
32 enable_quick_lock_(base::CommandLine::ForCurrentProcess()->HasSwitch( 32 enable_quick_lock_(base::CommandLine::ForCurrentProcess()->HasSwitch(
33 switches::kAshEnableTouchView)), 33 switches::kAshEnableTouchView)),
34 #else 34 #else
35 enable_quick_lock_(false), 35 enable_quick_lock_(false),
36 #endif 36 #endif
37 controller_(controller) { 37 controller_(controller) {
38 #if defined(OS_CHROMEOS) 38 #if defined(OS_CHROMEOS)
39 Shell::GetInstance()->display_configurator()->AddObserver(this); 39 Shell::GetInstance()->display_configurator()->AddObserver(this);
40 #endif 40 #endif
41 Shell::GetInstance()->PrependPreTargetHandler(this); 41 Shell::GetInstance()->PrependPreTargetHandler(this);
42 } 42 }
43 43
44 PowerButtonController::~PowerButtonController() { 44 PowerButtonController::~PowerButtonController() {
45 #if defined(OS_CHROMEOS) 45 #if defined(OS_CHROMEOS)
46 Shell::GetInstance()->display_configurator()->RemoveObserver(this); 46 Shell::GetInstance()->display_configurator()->RemoveObserver(this);
47 #endif 47 #endif
48 Shell::GetInstance()->RemovePreTargetHandler(this); 48 Shell::GetInstance()->RemovePreTargetHandler(this);
49 } 49 }
50 50
51 void PowerButtonController::OnScreenBrightnessChanged(double percent) { 51 void PowerButtonController::OnScreenBrightnessChanged(double percent) {
52 brightness_is_zero_ = percent <= 0.001; 52 brightness_is_zero_ = percent <= 0.001;
53 } 53 }
54 54
55 void PowerButtonController::OnPowerButtonEvent( 55 void PowerButtonController::OnPowerButtonEvent(
56 bool down, const base::TimeTicks& timestamp) { 56 bool down,
57 const base::TimeTicks& timestamp) {
57 power_button_down_ = down; 58 power_button_down_ = down;
58 59
59 if (controller_->ShutdownRequested()) 60 if (controller_->ShutdownRequested())
60 return; 61 return;
61 62
62 // Avoid starting the lock/shutdown sequence if the power button is pressed 63 // Avoid starting the lock/shutdown sequence if the power button is pressed
63 // while the screen is off (http://crbug.com/128451), unless an external 64 // while the screen is off (http://crbug.com/128451), unless an external
64 // display is still on (http://crosbug.com/p/24912). 65 // display is still on (http://crosbug.com/p/24912).
65 if (brightness_is_zero_ && !internal_display_off_and_external_display_on_) 66 if (brightness_is_zero_ && !internal_display_off_and_external_display_on_)
66 return; 67 return;
67 68
68 if (volume_down_pressed_ && down && 69 if (volume_down_pressed_ && down &&
69 Shell::GetInstance()->maximize_mode_controller()-> 70 Shell::GetInstance()
70 IsMaximizeModeWindowManagerEnabled()) { 71 ->maximize_mode_controller()
72 ->IsMaximizeModeWindowManagerEnabled()) {
71 Shell::GetInstance()->accelerator_controller()->PerformActionIfEnabled( 73 Shell::GetInstance()->accelerator_controller()->PerformActionIfEnabled(
72 ash::TAKE_SCREENSHOT); 74 ash::TAKE_SCREENSHOT);
73 return; 75 return;
74 } 76 }
75 77
76 const SessionStateDelegate* session_state_delegate = 78 const SessionStateDelegate* session_state_delegate =
77 Shell::GetInstance()->session_state_delegate(); 79 Shell::GetInstance()->session_state_delegate();
78 if (has_legacy_power_button_) { 80 if (has_legacy_power_button_) {
79 // If power button releases won't get reported correctly because we're not 81 // If power button releases won't get reported correctly because we're not
80 // running on official hardware, just lock the screen or shut down 82 // running on official hardware, just lock the screen or shut down
81 // immediately. 83 // immediately.
82 if (down) { 84 if (down) {
83 if (session_state_delegate->CanLockScreen() && 85 if (session_state_delegate->CanLockScreen() &&
84 !session_state_delegate->IsUserSessionBlocked() && 86 !session_state_delegate->IsUserSessionBlocked() &&
85 !controller_->LockRequested()) { 87 !controller_->LockRequested()) {
86 controller_->StartLockAnimationAndLockImmediately(false); 88 controller_->StartLockAnimationAndLockImmediately(false);
87 } else { 89 } else {
88 controller_->RequestShutdown(); 90 controller_->RequestShutdown();
89 } 91 }
90 } 92 }
91 } else { // !has_legacy_power_button_ 93 } else { // !has_legacy_power_button_
92 if (down) { 94 if (down) {
93 // If we already have a pending request to lock the screen, wait. 95 // If we already have a pending request to lock the screen, wait.
94 if (controller_->LockRequested()) 96 if (controller_->LockRequested())
95 return; 97 return;
96 98
97 if (session_state_delegate->CanLockScreen() && 99 if (session_state_delegate->CanLockScreen() &&
98 !session_state_delegate->IsUserSessionBlocked()) { 100 !session_state_delegate->IsUserSessionBlocked()) {
99 if (Shell::GetInstance()->maximize_mode_controller()-> 101 if (Shell::GetInstance()
100 IsMaximizeModeWindowManagerEnabled() && enable_quick_lock_) 102 ->maximize_mode_controller()
103 ->IsMaximizeModeWindowManagerEnabled() &&
104 enable_quick_lock_)
101 controller_->StartLockAnimationAndLockImmediately(true); 105 controller_->StartLockAnimationAndLockImmediately(true);
102 else 106 else
103 controller_->StartLockAnimation(true); 107 controller_->StartLockAnimation(true);
104 } else { 108 } else {
105 controller_->StartShutdownAnimation(); 109 controller_->StartShutdownAnimation();
106 } 110 }
107 } else { // Button is up. 111 } else { // Button is up.
108 if (controller_->CanCancelLockAnimation()) 112 if (controller_->CanCancelLockAnimation())
109 controller_->CancelLockAnimation(); 113 controller_->CancelLockAnimation();
110 else if (controller_->CanCancelShutdownAnimation()) 114 else if (controller_->CanCancelShutdownAnimation())
111 controller_->CancelShutdownAnimation(); 115 controller_->CancelShutdownAnimation();
112 } 116 }
113 } 117 }
114 } 118 }
115 119
116 void PowerButtonController::OnLockButtonEvent( 120 void PowerButtonController::OnLockButtonEvent(
117 bool down, const base::TimeTicks& timestamp) { 121 bool down,
122 const base::TimeTicks& timestamp) {
118 lock_button_down_ = down; 123 lock_button_down_ = down;
119 124
120 const SessionStateDelegate* session_state_delegate = 125 const SessionStateDelegate* session_state_delegate =
121 Shell::GetInstance()->session_state_delegate(); 126 Shell::GetInstance()->session_state_delegate();
122 if (!session_state_delegate->CanLockScreen() || 127 if (!session_state_delegate->CanLockScreen() ||
123 session_state_delegate->IsScreenLocked() || 128 session_state_delegate->IsScreenLocked() ||
124 controller_->LockRequested() || 129 controller_->LockRequested() || controller_->ShutdownRequested()) {
125 controller_->ShutdownRequested()) {
126 return; 130 return;
127 } 131 }
128 132
129 // Give the power button precedence over the lock button. 133 // Give the power button precedence over the lock button.
130 if (power_button_down_) 134 if (power_button_down_)
131 return; 135 return;
132 136
133 if (down) 137 if (down)
134 controller_->StartLockAnimation(false); 138 controller_->StartLockAnimation(false);
135 else 139 else
(...skipping 17 matching lines...) Expand all
153 } else if (display->current_mode()) { 157 } else if (display->current_mode()) {
154 external_display_on = true; 158 external_display_on = true;
155 } 159 }
156 } 160 }
157 internal_display_off_and_external_display_on_ = 161 internal_display_off_and_external_display_on_ =
158 internal_display_off && external_display_on; 162 internal_display_off && external_display_on;
159 } 163 }
160 #endif 164 #endif
161 165
162 } // namespace ash 166 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/power_button_controller.h ('k') | ash/wm/resize_handle_window_targeter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698