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

Unified Diff: content/browser/renderer_host/input/gesture_event_packet.cc

Issue 156783006: Consuming a touch move prevents only the next scroll update. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Undo accidental whitespace change. Created 6 years, 10 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/renderer_host/input/gesture_event_packet.cc
diff --git a/content/browser/renderer_host/input/gesture_event_packet.cc b/content/browser/renderer_host/input/gesture_event_packet.cc
index d0fe17219b9e2ecba7b69d2ed15c5dece4ffba50..10b12e923f568cc35329e9606d979db263b4b64e 100644
--- a/content/browser/renderer_host/input/gesture_event_packet.cc
+++ b/content/browser/renderer_host/input/gesture_event_packet.cc
@@ -14,34 +14,42 @@ using blink::WebTouchPoint;
namespace content {
namespace {
-bool IsTouchSequenceStart(const WebTouchEvent& event) {
- if (event.type != WebInputEvent::TouchStart)
- return false;
+GestureEventPacket::GestureSource ToGestureSource(const WebTouchEvent& event) {
if (!event.touchesLength)
- return false;
- for (size_t i = 0; i < event.touchesLength; i++) {
- if (event.touches[i].state != WebTouchPoint::StatePressed)
- return false;
+ return GestureEventPacket::INVALID;
+ switch (event.type) {
+ case WebInputEvent::TouchStart:
+ for (size_t i = 0; i < event.touchesLength; i++) {
+ if (event.touches[i].state != WebTouchPoint::StatePressed)
+ return GestureEventPacket::TOUCH_BEGIN;
+ }
+ return GestureEventPacket::TOUCH_SEQUENCE_BEGIN;
+ case WebInputEvent::TouchMove:
+ return GestureEventPacket::TOUCH_MOVE;
+ case WebInputEvent::TouchEnd:
+ case WebInputEvent::TouchCancel:
+ for (size_t i = 0; i < event.touchesLength; i++) {
+ if (event.touches[i].state != WebTouchPoint::StateReleased &&
+ event.touches[i].state != WebTouchPoint::StateCancelled) {
+ return GestureEventPacket::TOUCH_END;
+ }
+ }
+ return GestureEventPacket::TOUCH_SEQUENCE_END;
+ default:
+ return GestureEventPacket::INVALID;
}
- return true;
-}
-
-GestureEventPacket::GestureSource
-ToGestureSource(const WebTouchEvent& event) {
- return IsTouchSequenceStart(event) ? GestureEventPacket::TOUCH_BEGIN
- : GestureEventPacket::TOUCH;
}
} // namespace
GestureEventPacket::GestureEventPacket()
: gesture_count_(0),
- gesture_source_(INVALID) {}
+ gesture_source_(UNDEFINED) {}
GestureEventPacket::GestureEventPacket(GestureSource source)
: gesture_count_(0),
gesture_source_(source) {
- DCHECK_NE(gesture_source_, INVALID);
+ DCHECK_NE(gesture_source_, UNDEFINED);
}
GestureEventPacket::~GestureEventPacket() {}

Powered by Google App Engine
This is Rietveld 408576698