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

Unified Diff: content/browser/web_contents/web_contents_view_aura.h

Issue 1076743003: Revert of Refactor GestureNavigation to eliminate code redundancy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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: content/browser/web_contents/web_contents_view_aura.h
diff --git a/content/browser/web_contents/web_contents_view_aura.h b/content/browser/web_contents/web_contents_view_aura.h
index f184fb226b2675ec72b36ca31832aecbbc3c6c9e..9bd09a3bc9a7ec970bd9e2d5cd5c01b1a9ca6a01 100644
--- a/content/browser/web_contents/web_contents_view_aura.h
+++ b/content/browser/web_contents/web_contents_view_aura.h
@@ -15,6 +15,7 @@
#include "content/common/content_export.h"
#include "ui/aura/window_delegate.h"
#include "ui/aura/window_observer.h"
+#include "ui/compositor/layer_animation_observer.h"
#include "ui/wm/public/drag_drop_delegate.h"
namespace aura {
@@ -40,6 +41,7 @@
: public WebContentsView,
public RenderViewHostDelegateView,
public OverscrollControllerDelegate,
+ public ui::ImplicitAnimationObserver,
public aura::WindowDelegate,
public aura::client::DragDropDelegate,
public aura::WindowObserver {
@@ -61,14 +63,40 @@
void InstallOverscrollControllerDelegate(RenderWidgetHostViewAura* view);
+ // Creates and sets up the overlay window that will be displayed during the
+ // overscroll gesture.
+ void PrepareOverscrollWindow();
+
// Sets up the content window in preparation for starting an overscroll
// gesture.
void PrepareContentWindowForOverscroll();
+
+ // Resets any in-progress animation for the overscroll gesture. Note that this
+ // doesn't immediately reset the internal states; that happens after an
+ // animation.
+ void ResetOverscrollTransform();
// Completes the navigation in response to a completed overscroll gesture.
// The navigation happens after an animation (either the overlay window
// animates in, or the content window animates out).
void CompleteOverscrollNavigation(OverscrollMode mode);
+
+ // Returns the window that should be animated for the overscroll gesture.
+ // (note that during the overscroll gesture, either the overlay window or the
+ // content window can be animated).
+ aura::Window* GetWindowToAnimateForOverscroll();
+
+ // Returns the amount the animating window should be translated in response to
+ // the overscroll gesture.
+ gfx::Vector2dF GetTranslationForOverscroll(float delta_x, float delta_y);
+
+ // A window showing the screenshot is overlayed during a navigation triggered
+ // by overscroll. This function sets this up.
+ void PrepareOverscrollNavigationOverlay();
+
+ // Changes the brightness of the layer depending on the amount of horizontal
+ // overscroll (|delta_x|, in pixels).
+ void UpdateOverscrollWindowBrightness(float delta_x);
void AttachTouchEditableToRenderView();
@@ -123,6 +151,9 @@
void OnOverscrollModeChange(OverscrollMode old_mode,
OverscrollMode new_mode) override;
+ // Overridden from ui::ImplicitAnimationObserver:
+ void OnImplicitAnimationsCompleted() override;
+
// Overridden from aura::WindowDelegate:
gfx::Size GetMinimumSize() const override;
gfx::Size GetMaximumSize() const override;
@@ -162,6 +193,10 @@
scoped_ptr<aura::Window> window_;
+ // The window that shows the screenshot of the history page during an
+ // overscroll navigation gesture.
+ scoped_ptr<aura::Window> overscroll_window_;
+
scoped_ptr<WindowObserver> window_observer_;
// The WebContentsImpl whose contents we display.
@@ -181,6 +216,8 @@
// pointers.
void* current_rvh_for_drag_;
+ bool overscroll_change_brightness_;
+
// The overscroll gesture currently in progress.
OverscrollMode current_overscroll_gesture_;
@@ -192,6 +229,8 @@
// navigation triggered by the overscroll gesture.
scoped_ptr<OverscrollNavigationOverlay> navigation_overlay_;
+ scoped_ptr<ShadowLayerDelegate> overscroll_shadow_;
+
scoped_ptr<TouchEditableImplAura> touch_editable_;
scoped_ptr<GestureNavSimple> gesture_nav_simple_;
« no previous file with comments | « content/browser/web_contents/aura/window_slider_unittest.cc ('k') | content/browser/web_contents/web_contents_view_aura.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698