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

Unified Diff: ash/wm/dock/docked_window_layout_manager.h

Issue 98373006: Animating docked background in sync with shelf (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Animating docked background in sync with shelf Created 7 years 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: ash/wm/dock/docked_window_layout_manager.h
diff --git a/ash/wm/dock/docked_window_layout_manager.h b/ash/wm/dock/docked_window_layout_manager.h
index 9cb38265c75e8a1eb00c6412c93037591c4c8df7..82f87cd7f0b4d1eebd97ad9f1fb25a9aaa2cc2e3 100644
--- a/ash/wm/dock/docked_window_layout_manager.h
+++ b/ash/wm/dock/docked_window_layout_manager.h
@@ -74,6 +74,7 @@ class ASH_EXPORT DockedWindowLayoutManager
public aura::WindowObserver,
public aura::client::ActivationChangeObserver,
public keyboard::KeyboardControllerObserver,
+ public ShelfLayoutManagerObserver,
public wm::WindowStateObserver {
public:
// Maximum width of the docked windows area.
@@ -148,6 +149,11 @@ class ASH_EXPORT DockedWindowLayoutManager
aura::Window* root_window) OVERRIDE;
virtual void OnShelfAlignmentChanged(aura::Window* root_window) OVERRIDE;
+ // ShelfLayoutManagerObserver:
+ virtual void OnBackgroundUpdated(
+ ShelfBackgroundType background_type,
+ internal::BackgroundAnimator::ChangeType change_type) OVERRIDE;
+
// wm::WindowStateObserver:
virtual void OnWindowShowTypeChanged(wm::WindowState* window_state,
wm::WindowShowType old_type) OVERRIDE;
@@ -167,6 +173,7 @@ class ASH_EXPORT DockedWindowLayoutManager
private:
friend class DockedWindowLayoutManagerTest;
friend class DockedWindowResizerTest;
+ class DockedBackgroundWidget;
oshima 2013/12/05 18:47:04 move this before class DockedWindowLayoutManagerOb
varkha 2013/12/05 21:14:16 Done.
// Width of the gap between the docked windows and a workspace.
static const int kMinDockGap;
@@ -255,6 +262,10 @@ class ASH_EXPORT DockedWindowLayoutManager
// The launcher to respond to launcher alignment changes.
Launcher* launcher_;
+
+ // The shelf layout manager being observed for background changes.
+ ShelfLayoutManager* shelf_layout_manager_;
+
// Workspace controller that can be checked for fullscreen mode.
WorkspaceController* workspace_controller_;
// Tracks if any window in the same root window is in fullscreen mode.
@@ -280,7 +291,7 @@ class ASH_EXPORT DockedWindowLayoutManager
base::Time last_action_time_;
// Widget used to paint a background for the docked area.
- scoped_ptr<views::Widget> background_widget_;
+ scoped_ptr<DockedBackgroundWidget> background_widget_;
// Observers of dock bounds changes.
ObserverList<DockedWindowLayoutManagerObserver> observer_list_;

Powered by Google App Engine
This is Rietveld 408576698