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

Side by Side Diff: content/common/input/web_touch_event_traits.cc

Issue 375863005: Touch emulator: allow multiple touch streams. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Do not clear sequence count when reenabling Created 6 years, 5 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/input/web_touch_event_traits.h" 5 #include "content/common/input/web_touch_event_traits.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 8
9 using blink::WebInputEvent; 9 using blink::WebInputEvent;
10 using blink::WebTouchEvent; 10 using blink::WebTouchEvent;
(...skipping 13 matching lines...) Expand all
24 return true; 24 return true;
25 } 25 }
26 26
27 bool WebTouchEventTraits::IsTouchSequenceStart(const WebTouchEvent& event) { 27 bool WebTouchEventTraits::IsTouchSequenceStart(const WebTouchEvent& event) {
28 DCHECK(event.touchesLength); 28 DCHECK(event.touchesLength);
29 if (event.type != WebInputEvent::TouchStart) 29 if (event.type != WebInputEvent::TouchStart)
30 return false; 30 return false;
31 return AllTouchPointsHaveState(event, blink::WebTouchPoint::StatePressed); 31 return AllTouchPointsHaveState(event, blink::WebTouchPoint::StatePressed);
32 } 32 }
33 33
34 bool WebTouchEventTraits::IsTouchSequenceEnd(const WebTouchEvent& event) {
35 if (event.type != WebInputEvent::TouchEnd &&
36 event.type != WebInputEvent::TouchCancel)
37 return false;
38 if (!event.touchesLength)
39 return true;
40 for (size_t i = 0; i < event.touchesLength; ++i) {
41 if (event.touches[i].state != blink::WebTouchPoint::StateReleased &&
42 event.touches[i].state != blink::WebTouchPoint::StateCancelled)
43 return false;
44 }
45 return true;
46 }
47
34 void WebTouchEventTraits::ResetType(WebInputEvent::Type type, 48 void WebTouchEventTraits::ResetType(WebInputEvent::Type type,
35 double timestamp_sec, 49 double timestamp_sec,
36 WebTouchEvent* event) { 50 WebTouchEvent* event) {
37 DCHECK(WebInputEvent::isTouchEventType(type)); 51 DCHECK(WebInputEvent::isTouchEventType(type));
38 event->type = type; 52 event->type = type;
39 event->cancelable = (type != WebInputEvent::TouchCancel); 53 event->cancelable = (type != WebInputEvent::TouchCancel);
40 event->timeStampSeconds = timestamp_sec; 54 event->timeStampSeconds = timestamp_sec;
41 } 55 }
42 56
43 void WebTouchEventTraits::ResetTypeAndTouchStates(WebInputEvent::Type type, 57 void WebTouchEventTraits::ResetTypeAndTouchStates(WebInputEvent::Type type,
(...skipping 17 matching lines...) Expand all
61 break; 75 break;
62 default: 76 default:
63 NOTREACHED(); 77 NOTREACHED();
64 break; 78 break;
65 } 79 }
66 for (size_t i = 0; i < event->touchesLength; ++i) 80 for (size_t i = 0; i < event->touchesLength; ++i)
67 event->touches[i].state = newState; 81 event->touches[i].state = newState;
68 } 82 }
69 83
70 } // namespace content 84 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698