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

Unified Diff: chrome/browser/ui/views/aura/app_list_window.h

Issue 8469019: [Aura] Update app list window. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync and resolve conflicts Created 9 years, 1 month 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 | « no previous file | chrome/browser/ui/views/aura/app_list_window.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/aura/app_list_window.h
diff --git a/chrome/browser/ui/views/aura/app_list_window.h b/chrome/browser/ui/views/aura/app_list_window.h
index 7c9a9e6d9c4589fc3a183ea274c46ada2437793b..282bf1f85d3fe2a69ee416939880d02b09f25558 100644
--- a/chrome/browser/ui/views/aura/app_list_window.h
+++ b/chrome/browser/ui/views/aura/app_list_window.h
@@ -6,7 +6,10 @@
#define CHROME_BROWSER_UI_VIEWS_AURA_APP_LIST_WINDOW_H_
#pragma once
+#include "base/memory/scoped_ptr.h"
+#include "chrome/browser/tab_first_render_watcher.h"
#include "ui/aura/desktop_observer.h"
+#include "ui/gfx/compositor/layer_animation_observer.h"
#include "views/widget/widget_delegate.h"
class DOMView;
@@ -16,7 +19,9 @@ class Widget;
}
class AppListWindow : public views::WidgetDelegate,
- public aura::DesktopObserver {
+ public aura::DesktopObserver,
+ public ui::LayerAnimationObserver,
+ public TabFirstRenderWatcher::Delegate {
public:
// Show/hide app list window.
static void SetVisible(bool visible);
@@ -28,7 +33,7 @@ class AppListWindow : public views::WidgetDelegate,
AppListWindow();
virtual ~AppListWindow();
- // Overridden from views::WidgetDelegate:
+ // views::WidgetDelegate overrides:
virtual void DeleteDelegate() OVERRIDE;
virtual views::View* GetContentsView() OVERRIDE;
virtual void WindowClosing() OVERRIDE;
@@ -38,15 +43,24 @@ class AppListWindow : public views::WidgetDelegate,
// aura::DesktopObserver overrides:
virtual void OnActiveWindowChanged(aura::Window* active) OVERRIDE;
+ // ui::LayerAnimationObserver overrides:
+ virtual void OnLayerAnimationEnded(
+ const ui::LayerAnimationSequence* sequence) OVERRIDE;
+ virtual void OnLayerAnimationAborted(
+ const ui::LayerAnimationSequence* sequence) OVERRIDE;
+ virtual void OnLayerAnimationScheduled(
+ const ui::LayerAnimationSequence* sequence) OVERRIDE;
+
+ // TabFirstRenderWatcher::Delegate implementation:
+ virtual void OnRenderHostCreated(RenderViewHost* host) OVERRIDE;
+ virtual void OnTabMainFrameLoaded() OVERRIDE;
+ virtual void OnTabMainFrameFirstRender() OVERRIDE;
+
// Initializes the window.
void Init();
// Shows/hides the window.
- void SetVisible(bool visible, bool animate);
-
- bool is_visible() const {
- return is_visible_;
- }
+ void DoSetVisible(bool visible);
// Current visible app list window.
static AppListWindow* instance_;
@@ -55,6 +69,13 @@ class AppListWindow : public views::WidgetDelegate,
DOMView* contents_;
bool is_visible_;
+ // Monitors TabContents and set |content_rendered_| flag when it's rendered.
+ scoped_ptr<TabFirstRenderWatcher> tab_watcher_;
+
+ // Flag of whether the web contents is rendered. Showing animation is
+ // deferred until this flag is set to true.
+ bool content_rendered_;
+
DISALLOW_COPY_AND_ASSIGN(AppListWindow);
};
« no previous file with comments | « no previous file | chrome/browser/ui/views/aura/app_list_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698