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

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

Issue 247433003: Mark touchcancel events as uncancelable (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: avi CR feedback Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/synthetic_web_input_event_builders.h" 5 #include "content/common/input/synthetic_web_input_event_builders.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "content/common/input/web_touch_event_traits.h"
8 #include "ui/events/keycodes/keyboard_codes.h" 9 #include "ui/events/keycodes/keyboard_codes.h"
9 10
10 namespace content { 11 namespace content {
11 12
12 using blink::WebInputEvent; 13 using blink::WebInputEvent;
13 using blink::WebKeyboardEvent; 14 using blink::WebKeyboardEvent;
14 using blink::WebGestureEvent; 15 using blink::WebGestureEvent;
15 using blink::WebMouseEvent; 16 using blink::WebMouseEvent;
16 using blink::WebMouseWheelEvent; 17 using blink::WebMouseWheelEvent;
17 using blink::WebTouchEvent; 18 using blink::WebTouchEvent;
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 int SyntheticWebTouchEvent::PressPoint(float x, float y) { 163 int SyntheticWebTouchEvent::PressPoint(float x, float y) {
163 if (touchesLength == touchesLengthCap) 164 if (touchesLength == touchesLengthCap)
164 return -1; 165 return -1;
165 WebTouchPoint& point = touches[touchesLength]; 166 WebTouchPoint& point = touches[touchesLength];
166 point.id = touchesLength; 167 point.id = touchesLength;
167 point.position.x = point.screenPosition.x = x; 168 point.position.x = point.screenPosition.x = x;
168 point.position.y = point.screenPosition.y = y; 169 point.position.y = point.screenPosition.y = y;
169 point.state = WebTouchPoint::StatePressed; 170 point.state = WebTouchPoint::StatePressed;
170 point.radiusX = point.radiusY = 1.f; 171 point.radiusX = point.radiusY = 1.f;
171 ++touchesLength; 172 ++touchesLength;
172 type = WebInputEvent::TouchStart; 173 WebTouchEventTraits::ResetType(
174 WebInputEvent::TouchStart, timeStampSeconds, this);
173 return point.id; 175 return point.id;
174 } 176 }
175 177
176 void SyntheticWebTouchEvent::MovePoint(int index, float x, float y) { 178 void SyntheticWebTouchEvent::MovePoint(int index, float x, float y) {
177 CHECK(index >= 0 && index < touchesLengthCap); 179 CHECK(index >= 0 && index < touchesLengthCap);
178 WebTouchPoint& point = touches[index]; 180 WebTouchPoint& point = touches[index];
179 point.position.x = point.screenPosition.x = x; 181 point.position.x = point.screenPosition.x = x;
180 point.position.y = point.screenPosition.y = y; 182 point.position.y = point.screenPosition.y = y;
181 touches[index].state = WebTouchPoint::StateMoved; 183 touches[index].state = WebTouchPoint::StateMoved;
182 type = WebInputEvent::TouchMove; 184 WebTouchEventTraits::ResetType(
185 WebInputEvent::TouchMove, timeStampSeconds, this);
183 } 186 }
184 187
185 void SyntheticWebTouchEvent::ReleasePoint(int index) { 188 void SyntheticWebTouchEvent::ReleasePoint(int index) {
186 CHECK(index >= 0 && index < touchesLengthCap); 189 CHECK(index >= 0 && index < touchesLengthCap);
187 touches[index].state = WebTouchPoint::StateReleased; 190 touches[index].state = WebTouchPoint::StateReleased;
188 type = WebInputEvent::TouchEnd; 191 WebTouchEventTraits::ResetType(
192 WebInputEvent::TouchEnd, timeStampSeconds, this);
189 } 193 }
190 194
191 void SyntheticWebTouchEvent::CancelPoint(int index) { 195 void SyntheticWebTouchEvent::CancelPoint(int index) {
192 CHECK(index >= 0 && index < touchesLengthCap); 196 CHECK(index >= 0 && index < touchesLengthCap);
193 touches[index].state = WebTouchPoint::StateCancelled; 197 touches[index].state = WebTouchPoint::StateCancelled;
194 type = WebInputEvent::TouchCancel; 198 WebTouchEventTraits::ResetType(
199 WebInputEvent::TouchCancel, timeStampSeconds, this);
195 } 200 }
196 201
197 void SyntheticWebTouchEvent::SetTimestamp(base::TimeDelta timestamp) { 202 void SyntheticWebTouchEvent::SetTimestamp(base::TimeDelta timestamp) {
198 timeStampSeconds = timestamp.InSecondsF(); 203 timeStampSeconds = timestamp.InSecondsF();
199 } 204 }
200 205
201 SyntheticWebTouchEvent SyntheticWebTouchEventBuilder::Build(
202 WebInputEvent::Type type) {
203 DCHECK(WebInputEvent::isTouchEventType(type));
204 SyntheticWebTouchEvent result;
205 result.type = type;
206 return result;
207 };
208
209 } // namespace content 206 } // namespace content
OLDNEW
« no previous file with comments | « content/common/input/synthetic_web_input_event_builders.h ('k') | content/common/input/web_touch_event_traits.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698