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

Side by Side Diff: chrome/browser/ui/ash/multi_user/multi_user_window_manager.h

Issue 127423002: Supports window teleports for notifications. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix wallpaper private api test Created 6 years, 11 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
OLDNEW
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_H_ 5 #ifndef CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_H_
6 #define CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_H_ 6 #define CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set>
9 #include <string> 10 #include <string>
10 11
11 class Browser; 12 class Browser;
12 class Profile; 13 class Profile;
13 14
14 namespace aura { 15 namespace aura {
15 class Window; 16 class Window;
16 } 17 }
17 18
18 namespace chrome { 19 namespace chrome {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 // might be available for every user and not belong explicitly to one). 84 // might be available for every user and not belong explicitly to one).
84 // Note that a window can only be shown on one desktop at a time. Note that 85 // Note that a window can only be shown on one desktop at a time. Note that
85 // when the window gets minimized, it will automatically fall back to the 86 // when the window gets minimized, it will automatically fall back to the
86 // owner's desktop. 87 // owner's desktop.
87 virtual void ShowWindowForUser( 88 virtual void ShowWindowForUser(
88 aura::Window* window, const std::string& user_id) = 0; 89 aura::Window* window, const std::string& user_id) = 0;
89 90
90 // Returns true when windows are shared among users. 91 // Returns true when windows are shared among users.
91 virtual bool AreWindowsSharedAmongUsers() = 0; 92 virtual bool AreWindowsSharedAmongUsers() = 0;
92 93
94 // Get the owners for the visible windows and set them to |user_ids|.
95 virtual void GetOwnersOfVisibleWindows(std::set<std::string>* user_ids) = 0;
96
93 // A query call for a given window to see if it is on the given user's 97 // A query call for a given window to see if it is on the given user's
94 // desktop. 98 // desktop.
95 virtual bool IsWindowOnDesktopOfUser(aura::Window* window, 99 virtual bool IsWindowOnDesktopOfUser(aura::Window* window,
96 const std::string& user_id) = 0; 100 const std::string& user_id) = 0;
97 101
98 // Get the user on which the window is currently shown. If an empty string is 102 // Get the user on which the window is currently shown. If an empty string is
99 // passed back the window will be presented for every user. 103 // passed back the window will be presented for every user.
100 virtual const std::string& GetUserPresentingWindow(aura::Window* window) = 0; 104 virtual const std::string& GetUserPresentingWindow(aura::Window* window) = 0;
101 105
102 // Adds user to monitor starting and running V1/V2 application windows. 106 // Adds user to monitor starting and running V1/V2 application windows.
103 // Returns immediately if the user (identified by a |profile|) is already 107 // Returns immediately if the user (identified by a |profile|) is already
104 // known to the manager. Note: This function is not implemented as a 108 // known to the manager. Note: This function is not implemented as a
105 // SessionStateObserver to coordinate the timing of the addition with other 109 // SessionStateObserver to coordinate the timing of the addition with other
106 // modules. 110 // modules.
107 virtual void AddUser(Profile* profile) = 0; 111 virtual void AddUser(Profile* profile) = 0;
108 112
109 protected: 113 protected:
110 virtual ~MultiUserWindowManager() {} 114 virtual ~MultiUserWindowManager() {}
111 115
112 private: 116 private:
113 // Caching the current multi profile mode since the detection is expensive. 117 // Caching the current multi profile mode since the detection is expensive.
114 static MultiProfileMode multi_user_mode_; 118 static MultiProfileMode multi_user_mode_;
115 }; 119 };
116 120
117 } // namespace chrome 121 } // namespace chrome
118 122
119 #endif // CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_H_ 123 #endif // CHROME_BROWSER_UI_ASH_MULTI_USER_MULTI_USER_WINDOW_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698