| 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 |