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

Unified Diff: athena/wm/public/window_list_provider.h

Issue 480293003: Adding functions to the window_list_provider for accessing the activities window list (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed Created 6 years, 3 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: athena/wm/public/window_list_provider.h
diff --git a/athena/wm/public/window_list_provider.h b/athena/wm/public/window_list_provider.h
index d22aa3da376069285b1c1bf0b1a9f556a3f2fb3d..b3083a969a8e000a803ea537c1c86dabb7f27b62 100644
--- a/athena/wm/public/window_list_provider.h
+++ b/athena/wm/public/window_list_provider.h
@@ -10,13 +10,42 @@
namespace athena {
+class WindowListProviderObserver;
+
// Interface for an ordered list of aura::Window objects.
+// Note that lists returned by GetCurrentWindowList() will not change if any of
+// the other member functions will be called later.
class ATHENA_EXPORT WindowListProvider {
public:
virtual ~WindowListProvider() {}
- // Returns an ordered list of windows.
+ // Adding/removing an observer to status changes.
+ virtual void AddObserver(WindowListProviderObserver* observer) = 0;
+ virtual void RemoveObserver(WindowListProviderObserver* observer) = 0;
+
+ // Returns an ordered list of the current window configuration.
virtual aura::Window::Windows GetWindowList() const = 0;
+
+ // Returns true if the |window| is part of the list.
+ virtual bool IsWindowInList(aura::Window* window) const = 0;
+
+ // Returns true if the given window is a window which can be handled by the
+ // WindowListProvider.
+ virtual bool IsValidWindow(aura::Window* window) const = 0;
+
+ // Moves a given |window| to the front of all windows of the window list.
+ // Note: The window has to be in the list already.
+ virtual void MoveToFront(aura::Window* window) = 0;
+
+ // Stacks a given |window| in direct front of a |reference_window|.
+ // Note: The |window| and |reference_window| has to be in the list already.
+ virtual void StackWindowFrontOf(aura::Window* window,
+ aura::Window* reference_window) = 0;
+
+ // Stacks a given |window| directly behind a |reference_window|.
+ // Note: The |window| and |reference_window| has to be in the list already.
+ virtual void StackWindowBehindTo(aura::Window* window,
+ aura::Window* reference_window) = 0;
};
} // namespace athena

Powered by Google App Engine
This is Rietveld 408576698