OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_CHROMEOS_H_ | 5 #ifndef CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_CHROMEOS_H_ |
6 #define CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_CHROMEOS_H_ | 6 #define CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_CHROMEOS_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 21 matching lines...) Expand all Loading... |
32 | 32 |
33 namespace ash { | 33 namespace ash { |
34 namespace test { | 34 namespace test { |
35 class MultiUserWindowManagerChromeOSTest; | 35 class MultiUserWindowManagerChromeOSTest; |
36 } // namespace test | 36 } // namespace test |
37 } // namespace ash | 37 } // namespace ash |
38 | 38 |
39 namespace chrome { | 39 namespace chrome { |
40 | 40 |
41 class AppObserver; | 41 class AppObserver; |
42 class UserSwichAnimatorChromeOS; | 42 class UserSwitchAnimatorChromeOS; |
43 | 43 |
44 // This ChromeOS implementation of the MultiUserWindowManager interface is | 44 // This ChromeOS implementation of the MultiUserWindowManager interface is |
45 // detecting app and browser creations, tagging their windows automatically and | 45 // detecting app and browser creations, tagging their windows automatically and |
46 // using (currently) show and hide to make the owned windows visible - or not. | 46 // using (currently) show and hide to make the owned windows visible - or not. |
47 // If it becomes necessary, the function |SetWindowVisibility| can be | 47 // If it becomes necessary, the function |SetWindowVisibility| can be |
48 // overwritten to match new ways of doing this. | 48 // overwritten to match new ways of doing this. |
49 // Note: | 49 // Note: |
50 // - aura::Window::Hide() is currently hiding the window and all owned transient | 50 // - aura::Window::Hide() is currently hiding the window and all owned transient |
51 // children. However aura::Window::Show() is only showing the window itself. | 51 // children. However aura::Window::Show() is only showing the window itself. |
52 // To address that, all transient children (and their children) are remembered | 52 // To address that, all transient children (and their children) are remembered |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 // Disable any animations for unit tests. | 116 // Disable any animations for unit tests. |
117 void SetAnimationSpeedForTest(AnimationSpeed speed); | 117 void SetAnimationSpeedForTest(AnimationSpeed speed); |
118 | 118 |
119 // Returns true when a user switch animation is running. For unit tests. | 119 // Returns true when a user switch animation is running. For unit tests. |
120 bool IsAnimationRunningForTest(); | 120 bool IsAnimationRunningForTest(); |
121 | 121 |
122 // Returns the current user for unit tests. | 122 // Returns the current user for unit tests. |
123 const std::string& GetCurrentUserForTest() const; | 123 const std::string& GetCurrentUserForTest() const; |
124 | 124 |
125 protected: | 125 protected: |
126 friend class UserSwichAnimatorChromeOS; | 126 friend class UserSwitchAnimatorChromeOS; |
127 | 127 |
128 class WindowEntry { | 128 class WindowEntry { |
129 public: | 129 public: |
130 explicit WindowEntry(const std::string& user_id) | 130 explicit WindowEntry(const std::string& user_id) |
131 : owner_(user_id), | 131 : owner_(user_id), |
132 show_for_user_(user_id), | 132 show_for_user_(user_id), |
133 show_(true) {} | 133 show_(true) {} |
134 virtual ~WindowEntry() {} | 134 virtual ~WindowEntry() {} |
135 | 135 |
136 // Returns the owner of this window. This cannot be changed. | 136 // Returns the owner of this window. This cannot be changed. |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 bool suppress_visibility_changes_; | 255 bool suppress_visibility_changes_; |
256 | 256 |
257 // Caching the current multi profile mode since the detection which mode is | 257 // Caching the current multi profile mode since the detection which mode is |
258 // used is quite expensive. | 258 // used is quite expensive. |
259 static MultiProfileMode multi_user_mode_; | 259 static MultiProfileMode multi_user_mode_; |
260 | 260 |
261 // The speed which is used to perform any animations. | 261 // The speed which is used to perform any animations. |
262 AnimationSpeed animation_speed_; | 262 AnimationSpeed animation_speed_; |
263 | 263 |
264 // The animation between users. | 264 // The animation between users. |
265 scoped_ptr<UserSwichAnimatorChromeOS> animation_; | 265 scoped_ptr<UserSwitchAnimatorChromeOS> animation_; |
266 | 266 |
267 DISALLOW_COPY_AND_ASSIGN(MultiUserWindowManagerChromeOS); | 267 DISALLOW_COPY_AND_ASSIGN(MultiUserWindowManagerChromeOS); |
268 }; | 268 }; |
269 | 269 |
270 } // namespace chrome | 270 } // namespace chrome |
271 | 271 |
272 #endif // CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_CHROMEOS_H
_ | 272 #endif // CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_CHROMEOS_H
_ |
OLD | NEW |