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

Unified Diff: athena/wm/split_view_controller.h

Issue 470083004: athena: A simpler implementation of WindowListProvider. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 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/split_view_controller.h
diff --git a/athena/wm/split_view_controller.h b/athena/wm/split_view_controller.h
index 2e5d0ce0490abff4920344ffa4cf9ed8f930d2f1..4e0d3ccb078f465d900f6f3f59fb62839622821f 100644
--- a/athena/wm/split_view_controller.h
+++ b/athena/wm/split_view_controller.h
@@ -7,8 +7,6 @@
#include "athena/athena_export.h"
#include "athena/wm/bezel_controller.h"
-#include "athena/wm/public/window_manager_observer.h"
-#include "athena/wm/window_overview_mode.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
@@ -18,18 +16,14 @@ class Transform;
namespace athena {
class WindowListProvider;
-class WindowManager;
-class WindowOverviewModeDelegate;
// Responsible for entering split view mode, exiting from split view mode, and
// laying out the windows in split view mode.
class ATHENA_EXPORT SplitViewController
- : public BezelController::ScrollDelegate,
- public WindowManagerObserver {
+ : public BezelController::ScrollDelegate {
public:
SplitViewController(aura::Window* container,
- WindowListProvider* window_list_provider,
- WindowManager* window_manager);
+ WindowListProvider* window_list_provider);
virtual ~SplitViewController();
@@ -40,6 +34,11 @@ class ATHENA_EXPORT SplitViewController
// |left| nor |right|) is selected instead.
void ActivateSplitMode(aura::Window* left, aura::Window* right);
+ // Resets the internal state to an inactive state. Calling this does not
+ // change the window bounds/transforms etc. The caller must take care of
+ // making any necessary changes.
+ void DeactivateSplitMode();
+
aura::Window* left_window() { return left_window_; }
aura::Window* right_window() { return right_window_; }
@@ -67,38 +66,19 @@ class ATHENA_EXPORT SplitViewController
void UpdateSeparatorPositionFromScrollDelta(float delta);
- // Returns the current activity shown to the user. Persists through the
- // SCROLLING and ACTIVE states and gets updated if the current activity goes
- // off screen when the user switches between activities.
- aura::Window* GetCurrentActivityWindow();
-
- // BezelController::ScrollDelegate overrides.
+ // BezelController::ScrollDelegate:
virtual void ScrollBegin(BezelController::Bezel bezel, float delta) OVERRIDE;
virtual void ScrollEnd() OVERRIDE;
virtual void ScrollUpdate(float delta) OVERRIDE;
virtual bool CanScroll() OVERRIDE;
- // WindowManagerObserver
- virtual void OnOverviewModeEnter() OVERRIDE;
- virtual void OnOverviewModeExit() OVERRIDE;
-
State state_;
aura::Window* container_;
- // Window Manager which owns this SplitViewController. The window manager must
- // be alive for the duration of the lifetime of the SplitViewController.
- // Can be NULL (in tests).
- WindowManager* window_manager_;
-
// Provider of the list of windows to cycle through. Not owned.
WindowListProvider* window_list_provider_;
- // Keeps track of the current activity shown as the user switches between
- // activities. Persists through the SCROLLING and ACTIVE states. Gets reset
- // to NULL when overview mode is activated.
- aura::Window* current_activity_window_;
-
// Windows for the left and right activities shown in SCROLLING and ACTIVE
// states. In INACTIVE state these are NULL.
aura::Window* left_window_;

Powered by Google App Engine
This is Rietveld 408576698