OLD | NEW |
---|---|
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/ash_switches.h" | 7 #include "ash/ash_switches.h" |
8 #include "ash/session/session_state_delegate.h" | 8 #include "ash/session/session_state_delegate.h" |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "ash/shell_window_ids.h" | 10 #include "ash/shell_window_ids.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
65 if (volume_down_pressed_ && down && | 65 if (volume_down_pressed_ && down && |
66 Shell::GetInstance()->maximize_mode_controller()-> | 66 Shell::GetInstance()->maximize_mode_controller()-> |
67 IsMaximizeModeWindowManagerEnabled()) { | 67 IsMaximizeModeWindowManagerEnabled()) { |
68 Shell::GetInstance()->accelerator_controller()->PerformActionIfEnabled( | 68 Shell::GetInstance()->accelerator_controller()->PerformActionIfEnabled( |
69 ash::TAKE_SCREENSHOT); | 69 ash::TAKE_SCREENSHOT); |
70 return; | 70 return; |
71 } | 71 } |
72 | 72 |
73 const SessionStateDelegate* session_state_delegate = | 73 const SessionStateDelegate* session_state_delegate = |
74 Shell::GetInstance()->session_state_delegate(); | 74 Shell::GetInstance()->session_state_delegate(); |
75 if (has_legacy_power_button_) { | 75 if (has_legacy_power_button_) { |
dzhioev (left Google)
2014/12/23 14:08:52
I think this branch should be updated as well, tho
| |
76 // If power button releases won't get reported correctly because we're not | 76 // If power button releases won't get reported correctly because we're not |
77 // running on official hardware, just lock the screen or shut down | 77 // running on official hardware, just lock the screen or shut down |
78 // immediately. | 78 // immediately. |
79 if (down) { | 79 if (down) { |
80 if (session_state_delegate->CanLockScreen() && | 80 if (session_state_delegate->CanLockScreen() && |
81 !session_state_delegate->IsScreenLocked() && | 81 !session_state_delegate->IsScreenLocked() && |
82 !controller_->LockRequested()) { | 82 !controller_->LockRequested()) { |
83 controller_->StartLockAnimationAndLockImmediately(false); | 83 controller_->StartLockAnimationAndLockImmediately(false); |
84 } else { | 84 } else { |
85 controller_->RequestShutdown(LockStateController::POWER_OFF); | 85 controller_->RequestShutdown(LockStateController::POWER_OFF); |
86 } | 86 } |
87 } | 87 } |
88 } else { // !has_legacy_power_button_ | 88 } else { // !has_legacy_power_button_ |
89 if (down) { | 89 if (down) { |
90 // If we already have a pending request to lock the screen, wait. | 90 // If we already have a pending request to lock the screen, wait. |
91 if (controller_->LockRequested()) | 91 if (controller_->LockRequested()) |
92 return; | 92 return; |
93 | 93 |
94 if (session_state_delegate->CanLockScreen() && | 94 if (session_state_delegate->CanLockScreen() && |
95 !session_state_delegate->IsScreenLocked()) { | 95 !session_state_delegate->IsScreenLocked() && |
dzhioev (left Google)
2014/12/23 14:08:52
IsScreenLocked() implies IsUserSessionBlocked(), s
| |
96 !session_state_delegate->IsUserSessionBlocked()) { | |
96 if (Shell::GetInstance()->maximize_mode_controller()-> | 97 if (Shell::GetInstance()->maximize_mode_controller()-> |
97 IsMaximizeModeWindowManagerEnabled() && enable_quick_lock_) | 98 IsMaximizeModeWindowManagerEnabled() && enable_quick_lock_) |
98 controller_->StartLockAnimationAndLockImmediately(true); | 99 controller_->StartLockAnimationAndLockImmediately(true); |
99 else | 100 else |
100 controller_->StartLockAnimation(true); | 101 controller_->StartLockAnimation(true); |
101 } else { | 102 } else { |
102 controller_->StartShutdownAnimation(); | 103 controller_->StartShutdownAnimation(); |
103 } | 104 } |
104 } else { // Button is up. | 105 } else { // Button is up. |
105 if (controller_->CanCancelLockAnimation()) | 106 if (controller_->CanCancelLockAnimation()) |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
153 } else if (state.display->current_mode()) { | 154 } else if (state.display->current_mode()) { |
154 external_display_on = true; | 155 external_display_on = true; |
155 } | 156 } |
156 } | 157 } |
157 internal_display_off_and_external_display_on_ = | 158 internal_display_off_and_external_display_on_ = |
158 internal_display_off && external_display_on; | 159 internal_display_off && external_display_on; |
159 } | 160 } |
160 #endif | 161 #endif |
161 | 162 |
162 } // namespace ash | 163 } // namespace ash |
OLD | NEW |