summaryrefslogtreecommitdiffstats
path: root/content/browser/renderer_host/overscroll_controller.cc
diff options
context:
space:
mode:
authorsadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-17 01:09:57 +0000
committersadrul@chromium.org <sadrul@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-17 01:09:57 +0000
commitc4ddb5c45cc536576bd482ed0c260c19ea0251c5 (patch)
tree8e2ff3a1a575a40a9d1b155010ba2fb84c394a46 /content/browser/renderer_host/overscroll_controller.cc
parent97997f1077fd54a1c3ed90b701ce9d7c17306fe1 (diff)
downloadchromium_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.cc8
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;
}
}