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

Unified Diff: ash/wm/window_cycle_controller.h

Issue 20708005: Refactor most recently used window tracking into a separate class. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Address comments. Created 7 years, 5 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
« no previous file with comments | « ash/wm/mru_window_tracker.cc ('k') | ash/wm/window_cycle_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/window_cycle_controller.h
diff --git a/ash/wm/window_cycle_controller.h b/ash/wm/window_cycle_controller.h
index 9f5b8be9cfbe0092609e3955ca6347601a7b6007..12822c0e0fafe2cb483936f4dfcf7fbaba33acf6 100644
--- a/ash/wm/window_cycle_controller.h
+++ b/ash/wm/window_cycle_controller.h
@@ -5,22 +5,9 @@
#ifndef ASH_WM_WINDOW_CYCLE_CONTROLLER_H_
#define ASH_WM_WINDOW_CYCLE_CONTROLLER_H_
-#include <list>
-#include <vector>
-
#include "ash/ash_export.h"
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
-#include "ui/aura/client/activation_change_observer.h"
-#include "ui/aura/window_observer.h"
-
-namespace aura {
-class RootWindow;
-class Window;
-namespace client {
-class ActivationClient;
-}
-}
namespace ui {
class EventHandler;
@@ -37,16 +24,13 @@ class WindowCycleList;
// until the cycling ends. Thus we maintain the state of the windows
// at the beginning of the gesture so you can cycle through in a consistent
// order.
-class ASH_EXPORT WindowCycleController
- : public aura::client::ActivationChangeObserver,
- public aura::WindowObserver {
+class ASH_EXPORT WindowCycleController {
public:
enum Direction {
FORWARD,
BACKWARD
};
- explicit WindowCycleController(
- aura::client::ActivationClient* activation_client);
+ WindowCycleController();
virtual ~WindowCycleController();
// Returns true if cycling through windows is enabled. This is false at
@@ -72,22 +56,6 @@ class ASH_EXPORT WindowCycleController
// Returns the WindowCycleList. Really only useful for testing.
const WindowCycleList* windows() const { return windows_.get(); }
- // Set up the observers to handle window changes for the containers we care
- // about. Called when a new root window is added.
- void OnRootWindowAdded(aura::RootWindow* root_window);
-
- // Returns the set of windows to cycle through. This method creates
- // the vector based on the current set of windows across all valid root
- // windows. As a result it is not necessarily the same as the set of
- // windows being iterated over.
- // If |mru_windows| is not NULL, windows in this list are put at the head of
- // the window list.
- // If |top_most_at_end| the window list will return in ascending order instead
- // of the default descending.
- static std::vector<aura::Window*> BuildWindowList(
- const std::list<aura::Window*>* mru_windows,
- bool top_most_at_end);
-
private:
// Call to start cycling windows. You must call StopCycling() when done.
void StartCycling();
@@ -101,29 +69,11 @@ class ASH_EXPORT WindowCycleController
// Stops the current window cycle and cleans up the event filter.
void StopCycling();
- // Checks if the window represents a container whose children we track.
- static bool IsTrackedContainer(aura::Window* window);
-
- // Overridden from aura::client::ActivationChangeObserver:
- virtual void OnWindowActivated(aura::Window* gained_active,
- aura::Window* lost_active) OVERRIDE;
-
- // Overridden from WindowObserver:
- virtual void OnWindowAdded(aura::Window* window) OVERRIDE;
- virtual void OnWillRemoveWindow(aura::Window* window) OVERRIDE;
- virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
-
scoped_ptr<WindowCycleList> windows_;
// Event handler to watch for release of alt key.
scoped_ptr<ui::EventHandler> event_handler_;
- // List of windows that have been activated in containers that we cycle
- // through, sorted by most recently used.
- std::list<aura::Window*> mru_windows_;
-
- aura::client::ActivationClient* activation_client_;
-
DISALLOW_COPY_AND_ASSIGN(WindowCycleController);
};
« no previous file with comments | « ash/wm/mru_window_tracker.cc ('k') | ash/wm/window_cycle_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698