diff options
author | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-17 01:09:57 +0000 |
---|---|---|
committer | sadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-17 01:09:57 +0000 |
commit | c4ddb5c45cc536576bd482ed0c260c19ea0251c5 (patch) | |
tree | 8e2ff3a1a575a40a9d1b155010ba2fb84c394a46 /content/browser/renderer_host/overscroll_controller.cc | |
parent | 97997f1077fd54a1c3ed90b701ce9d7c17306fe1 (diff) | |
download | chromium_src-c4ddb5c45cc536576bd482ed0c260c19ea0251c5.zip chromium_src-c4ddb5c45cc536576bd482ed0c260c19ea0251c5.tar.gz chromium_src-c4ddb5c45cc536576bd482ed0c260c19ea0251c5.tar.bz2 |
overscroll: Make sure the overscroll gesture interacts properly with touch events.
Touch events can arrive during an overscroll gesture initiated by
touch-scrolling. These events should not reset the overscroll state, should
not be sent to the renderer, and should not be in the touch-event queue awaiting
an ACK.
BUG=160668
Review URL: https://codereview.chromium.org/11316056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168345 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/overscroll_controller.cc')
-rw-r--r-- | content/browser/renderer_host/overscroll_controller.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/content/browser/renderer_host/overscroll_controller.cc b/content/browser/renderer_host/overscroll_controller.cc index ce23b17d..0374671 100644 --- a/content/browser/renderer_host/overscroll_controller.cc +++ b/content/browser/renderer_host/overscroll_controller.cc @@ -114,7 +114,9 @@ bool OverscrollController::DispatchEventResetsState( return false; default: - return true; + // Touch events can arrive during an overscroll gesture initiated by + // touch-scrolling. These events should not reset the overscroll state. + return !WebKit::WebInputEvent::isTouchEventType(event.type); } } @@ -160,7 +162,9 @@ void OverscrollController::ProcessEventForOverscroll( } default: - DCHECK(WebKit::WebInputEvent::isGestureEventType(event.type)); + DCHECK(WebKit::WebInputEvent::isGestureEventType(event.type) || + WebKit::WebInputEvent::isTouchEventType(event.type)) + << "Received unexpected event: " << event.type; } } |