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

Unified Diff: chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h
diff --git a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h
index be4a43ebf5addd9a1a163db59ec1a73ede2468b1..0f6e9fa829e4fb3b5841fe00d3e9f634047ec59f 100644
--- a/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h
+++ b/chrome/browser/ui/ash/multi_user/multi_user_window_manager_chromeos.h
@@ -11,12 +11,15 @@
#include "ash/session_state_observer.h"
#include "ash/wm/window_state_observer.h"
#include "base/compiler_specific.h"
+#include "base/memory/scoped_ptr.h"
#include "chrome/browser/ui/ash/multi_user/multi_user_window_manager.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
#include "ui/aura/window_observer.h"
class Browser;
+class MultiUserNotificationBlockerChromeOS;
+class MultiUserNotificationBlockerChromeOSTest;
class Profile;
namespace aura {
@@ -58,6 +61,8 @@ class MultiUserWindowManagerChromeOS : public MultiUserWindowManager,
virtual void ShowWindowForUser(
aura::Window* window, const std::string& user_id) OVERRIDE;
virtual bool AreWindowsSharedAmongUsers() OVERRIDE;
+ virtual void GetOwnersOfVisibleWindows(
+ std::set<std::string>* user_ids) OVERRIDE;
virtual bool IsWindowOnDesktopOfUser(aura::Window* window,
const std::string& user_id) OVERRIDE;
virtual const std::string& GetUserPresentingWindow(
@@ -89,6 +94,8 @@ class MultiUserWindowManagerChromeOS : public MultiUserWindowManager,
const content::NotificationDetails& details) OVERRIDE;
private:
+ friend class ::MultiUserNotificationBlockerChromeOSTest;
+
class WindowEntry {
public:
explicit WindowEntry(const std::string& user_id)
@@ -175,6 +182,10 @@ class MultiUserWindowManagerChromeOS : public MultiUserWindowManager,
// being read from the user manager to be in sync while a switch occurs.
std::string current_user_id_;
+ // The blocker which controls the desktop notification visibility based on the
+ // current multi-user status.
+ scoped_ptr<MultiUserNotificationBlockerChromeOS> notification_blocker_;
+
// The notification registrar to track the creation of browser windows.
content::NotificationRegistrar registrar_;

Powered by Google App Engine
This is Rietveld 408576698