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

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

Issue 10008074: Cancel partial screenshot UI when lock happens. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: coding style fix Created 8 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « ash/wm/partial_screenshot_event_filter.cc ('k') | ash/wm/power_button_controller.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 #ifndef ASH_WM_POWER_BUTTON_CONTROLLER_H_ 5 #ifndef ASH_WM_POWER_BUTTON_CONTROLLER_H_
6 #define ASH_WM_POWER_BUTTON_CONTROLLER_H_ 6 #define ASH_WM_POWER_BUTTON_CONTROLLER_H_
7 #pragma once 7 #pragma once
8 8
9 #include "ash/ash_export.h" 9 #include "ash/ash_export.h"
10 #include "ash/shell_observer.h"
10 #include "base/basictypes.h" 11 #include "base/basictypes.h"
11 #include "base/memory/scoped_ptr.h" 12 #include "base/memory/scoped_ptr.h"
12 #include "base/time.h" 13 #include "base/time.h"
13 #include "base/timer.h" 14 #include "base/timer.h"
14 #include "ui/aura/root_window_observer.h" 15 #include "ui/aura/root_window_observer.h"
15 16
16 namespace gfx { 17 namespace gfx {
17 class Size; 18 class Size;
18 } 19 }
19 20
(...skipping 11 matching lines...) Expand all
31 32
32 virtual void RequestLockScreen() = 0; 33 virtual void RequestLockScreen() = 0;
33 virtual void RequestShutdown() = 0; 34 virtual void RequestShutdown() = 0;
34 35
35 private: 36 private:
36 DISALLOW_COPY_AND_ASSIGN(PowerButtonControllerDelegate); 37 DISALLOW_COPY_AND_ASSIGN(PowerButtonControllerDelegate);
37 }; 38 };
38 39
39 // Displays onscreen animations and locks or suspends the system in response to 40 // Displays onscreen animations and locks or suspends the system in response to
40 // the power button being pressed or released. 41 // the power button being pressed or released.
41 class ASH_EXPORT PowerButtonController : public aura::RootWindowObserver { 42 class ASH_EXPORT PowerButtonController : public aura::RootWindowObserver,
43 public ShellObserver {
42 public: 44 public:
43 // Animations that can be applied to groups of containers. 45 // Animations that can be applied to groups of containers.
44 // Exposed here for TestApi::ContainerGroupIsAnimated(). 46 // Exposed here for TestApi::ContainerGroupIsAnimated().
45 enum AnimationType { 47 enum AnimationType {
46 ANIMATION_SLOW_CLOSE = 0, 48 ANIMATION_SLOW_CLOSE = 0,
47 ANIMATION_UNDO_SLOW_CLOSE, 49 ANIMATION_UNDO_SLOW_CLOSE,
48 ANIMATION_FAST_CLOSE, 50 ANIMATION_FAST_CLOSE,
49 ANIMATION_FADE_IN, 51 ANIMATION_FADE_IN,
50 ANIMATION_HIDE, 52 ANIMATION_HIDE,
51 ANIMATION_RESTORE, 53 ANIMATION_RESTORE,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 virtual ~PowerButtonController(); 130 virtual ~PowerButtonController();
129 131
130 void set_delegate(PowerButtonControllerDelegate* delegate) { 132 void set_delegate(PowerButtonControllerDelegate* delegate) {
131 delegate_.reset(delegate); 133 delegate_.reset(delegate);
132 } 134 }
133 135
134 void set_has_legacy_power_button_for_test(bool legacy) { 136 void set_has_legacy_power_button_for_test(bool legacy) {
135 has_legacy_power_button_ = legacy; 137 has_legacy_power_button_ = legacy;
136 } 138 }
137 139
138 // Called when the user logs in.
139 void OnLoginStateChange(bool logged_in, bool is_guest);
140
141 // Called when the application is exiting.
142 void OnExit();
143
144 // Called when the screen is locked (after the lock window is visible) or
145 // unlocked.
146 void OnLockStateChange(bool locked);
147
148 // Called when Chrome gets a request to display the lock screen. 140 // Called when Chrome gets a request to display the lock screen.
149 void OnStartingLock(); 141 void OnStartingLock();
150 142
151 // Called when the power or lock buttons are pressed or released. 143 // Called when the power or lock buttons are pressed or released.
152 void OnPowerButtonEvent(bool down, const base::TimeTicks& timestamp); 144 void OnPowerButtonEvent(bool down, const base::TimeTicks& timestamp);
153 void OnLockButtonEvent(bool down, const base::TimeTicks& timestamp); 145 void OnLockButtonEvent(bool down, const base::TimeTicks& timestamp);
154 146
155 // Displays the shutdown animation and requests shutdown when it's done. 147 // Displays the shutdown animation and requests shutdown when it's done.
156 void RequestShutdown(); 148 void RequestShutdown();
157 149
158 // aura::RootWindowObserver overrides: 150 // aura::RootWindowObserver overrides:
159 virtual void OnRootWindowResized(const aura::RootWindow* root, 151 virtual void OnRootWindowResized(const aura::RootWindow* root,
160 const gfx::Size& old_size) OVERRIDE; 152 const gfx::Size& old_size) OVERRIDE;
161 153
154 // ShellObserver overrides:
155 virtual void OnLoginStateChanged(user::LoginStatus status) OVERRIDE;
156 virtual void OnAppTerminating() OVERRIDE;
157 virtual void OnLockStateChanged(bool locked) OVERRIDE;
158
162 private: 159 private:
163 bool logged_in_as_non_guest() const { return logged_in_ && !is_guest_; } 160 bool LoggedInAsNonGuest() const;
164 161
165 // Requests that the screen be locked and starts |lock_fail_timer_|. 162 // Requests that the screen be locked and starts |lock_fail_timer_|.
166 void OnLockTimeout(); 163 void OnLockTimeout();
167 164
168 // Aborts the pre-lock animation. 165 // Aborts the pre-lock animation.
169 void OnLockFailTimeout(); 166 void OnLockFailTimeout();
170 167
171 // Displays the pre-shutdown animation and starts |shutdown_timer_|. 168 // Displays the pre-shutdown animation and starts |shutdown_timer_|.
172 void OnLockToShutdownTimeout(); 169 void OnLockToShutdownTimeout();
173 170
(...skipping 10 matching lines...) Expand all
184 // Displays the shutdown animation and starts |real_shutdown_timer_|. 181 // Displays the shutdown animation and starts |real_shutdown_timer_|.
185 void StartShutdownAnimationAndRequestShutdown(); 182 void StartShutdownAnimationAndRequestShutdown();
186 183
187 // Shows or hides |background_layer_|. The show method creates and 184 // Shows or hides |background_layer_|. The show method creates and
188 // initializes the layer if it doesn't already exist. 185 // initializes the layer if it doesn't already exist.
189 void ShowBackgroundLayer(); 186 void ShowBackgroundLayer();
190 void HideBackgroundLayer(); 187 void HideBackgroundLayer();
191 188
192 scoped_ptr<PowerButtonControllerDelegate> delegate_; 189 scoped_ptr<PowerButtonControllerDelegate> delegate_;
193 190
194 // True if the user is currently logged in. 191 // The current login status.
195 bool logged_in_; 192 user::LoginStatus login_status_;
196 193
197 // True if a guest user is currently logged in. Unused if |logged_in_| is 194 // Original login status during locked. LOGGED_IN_NONE if it's not locked.
198 // false. 195 user::LoginStatus unlocked_login_status_;
199 bool is_guest_;
200
201 // True if the screen is currently locked.
202 bool locked_;
203 196
204 // Are the power or lock buttons currently held? 197 // Are the power or lock buttons currently held?
205 bool power_button_down_; 198 bool power_button_down_;
206 bool lock_button_down_; 199 bool lock_button_down_;
207 200
208 // Are we in the process of shutting the machine down? 201 // Are we in the process of shutting the machine down?
209 bool shutting_down_; 202 bool shutting_down_;
210 203
211 // Should we start |shutdown_timer_| when we receive notification that the 204 // Should we start |shutdown_timer_| when we receive notification that the
212 // screen has been locked? 205 // screen has been locked?
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 // |background_layer_|, as the desktop background is now covering the whole 243 // |background_layer_|, as the desktop background is now covering the whole
251 // screen. 244 // screen.
252 base::OneShotTimer<PowerButtonController> hide_background_layer_timer_; 245 base::OneShotTimer<PowerButtonController> hide_background_layer_timer_;
253 246
254 DISALLOW_COPY_AND_ASSIGN(PowerButtonController); 247 DISALLOW_COPY_AND_ASSIGN(PowerButtonController);
255 }; 248 };
256 249
257 } // namespace ash 250 } // namespace ash
258 251
259 #endif // ASH_WM_POWER_BUTTON_CONTROLLER_H_ 252 #endif // ASH_WM_POWER_BUTTON_CONTROLLER_H_
OLDNEW
« no previous file with comments | « ash/wm/partial_screenshot_event_filter.cc ('k') | ash/wm/power_button_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698