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

Side by Side Diff: Source/web/tests/WebInputEventConversionTest.cpp

Issue 920523003: Plumb WebTouchEvent::causesScrollingIfUncanceled to TouchEvent and (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/web/WebInputEventConversion.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 p0.rotationAngle = p1.rotationAngle = 1.f; 123 p0.rotationAngle = p1.rotationAngle = 1.f;
124 p0.force = p1.force = 25.f; 124 p0.force = p1.force = 25.f;
125 125
126 RefPtrWillBeRawPtr<Touch> touch0 = Touch::create(toLocalFrame(webViewImpl->p age()->mainFrame()), document.get(), p0.id, p0.screenPosition, p0.position, Floa tSize(p0.radiusX, p0.radiusY), p0.rotationAngle, p0.force); 126 RefPtrWillBeRawPtr<Touch> touch0 = Touch::create(toLocalFrame(webViewImpl->p age()->mainFrame()), document.get(), p0.id, p0.screenPosition, p0.position, Floa tSize(p0.radiusX, p0.radiusY), p0.rotationAngle, p0.force);
127 RefPtrWillBeRawPtr<Touch> touch1 = Touch::create(toLocalFrame(webViewImpl->p age()->mainFrame()), document.get(), p1.id, p1.screenPosition, p1.position, Floa tSize(p1.radiusX, p1.radiusY), p1.rotationAngle, p1.force); 127 RefPtrWillBeRawPtr<Touch> touch1 = Touch::create(toLocalFrame(webViewImpl->p age()->mainFrame()), document.get(), p1.id, p1.screenPosition, p1.position, Floa tSize(p1.radiusX, p1.radiusY), p1.rotationAngle, p1.force);
128 128
129 // Test touchstart. 129 // Test touchstart.
130 { 130 {
131 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); 131 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create();
132 touchList->append(touch0); 132 touchList->append(touch0);
133 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow, false, false, false, false, false); 133 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow, false, false, false, false, false, false);
134 134
135 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt); 135 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt);
136 ASSERT_EQ(1u, webTouchBuilder.touchesLength); 136 ASSERT_EQ(1u, webTouchBuilder.touchesLength);
137 EXPECT_EQ(WebInputEvent::TouchStart, webTouchBuilder.type); 137 EXPECT_EQ(WebInputEvent::TouchStart, webTouchBuilder.type);
138 EXPECT_EQ(WebTouchPoint::StatePressed, webTouchBuilder.touches[0].state) ; 138 EXPECT_EQ(WebTouchPoint::StatePressed, webTouchBuilder.touches[0].state) ;
139 EXPECT_FLOAT_EQ(p0.screenPosition.x, webTouchBuilder.touches[0].screenPo sition.x); 139 EXPECT_FLOAT_EQ(p0.screenPosition.x, webTouchBuilder.touches[0].screenPo sition.x);
140 EXPECT_FLOAT_EQ(p0.screenPosition.y, webTouchBuilder.touches[0].screenPo sition.y); 140 EXPECT_FLOAT_EQ(p0.screenPosition.y, webTouchBuilder.touches[0].screenPo sition.y);
141 EXPECT_FLOAT_EQ(p0.position.x, webTouchBuilder.touches[0].position.x); 141 EXPECT_FLOAT_EQ(p0.position.x, webTouchBuilder.touches[0].position.x);
142 EXPECT_FLOAT_EQ(p0.position.y, webTouchBuilder.touches[0].position.y); 142 EXPECT_FLOAT_EQ(p0.position.y, webTouchBuilder.touches[0].position.y);
143 EXPECT_FLOAT_EQ(p0.radiusX, webTouchBuilder.touches[0].radiusX); 143 EXPECT_FLOAT_EQ(p0.radiusX, webTouchBuilder.touches[0].radiusX);
144 EXPECT_FLOAT_EQ(p0.radiusY, webTouchBuilder.touches[0].radiusY); 144 EXPECT_FLOAT_EQ(p0.radiusY, webTouchBuilder.touches[0].radiusY);
145 EXPECT_FLOAT_EQ(p0.rotationAngle, webTouchBuilder.touches[0].rotationAng le); 145 EXPECT_FLOAT_EQ(p0.rotationAngle, webTouchBuilder.touches[0].rotationAng le);
146 EXPECT_FLOAT_EQ(p0.force, webTouchBuilder.touches[0].force); 146 EXPECT_FLOAT_EQ(p0.force, webTouchBuilder.touches[0].force);
147 } 147 }
148 148
149 // Test touchmove. 149 // Test touchmove.
150 { 150 {
151 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); 151 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create();
152 RefPtrWillBeRawPtr<TouchList> movedTouchList = TouchList::create(); 152 RefPtrWillBeRawPtr<TouchList> movedTouchList = TouchList::create();
153 activeTouchList->append(touch0); 153 activeTouchList->append(touch0);
154 activeTouchList->append(touch1); 154 activeTouchList->append(touch1);
155 movedTouchList->append(touch0); 155 movedTouchList->append(touch0);
156 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou chList.get(), activeTouchList.get(), movedTouchList.get(), EventTypeNames::touch move, domWindow, false, false, false, false, false); 156 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou chList.get(), activeTouchList.get(), movedTouchList.get(), EventTypeNames::touch move, domWindow, false, false, false, false, false, false);
157 157
158 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt); 158 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt);
159 ASSERT_EQ(2u, webTouchBuilder.touchesLength); 159 ASSERT_EQ(2u, webTouchBuilder.touchesLength);
160 EXPECT_EQ(WebInputEvent::TouchMove, webTouchBuilder.type); 160 EXPECT_EQ(WebInputEvent::TouchMove, webTouchBuilder.type);
161 EXPECT_EQ(WebTouchPoint::StateMoved, webTouchBuilder.touches[0].state); 161 EXPECT_EQ(WebTouchPoint::StateMoved, webTouchBuilder.touches[0].state);
162 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta te); 162 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta te);
163 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id); 163 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id);
164 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id); 164 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id);
165 } 165 }
166 166
167 // Test touchend. 167 // Test touchend.
168 { 168 {
169 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); 169 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create();
170 RefPtrWillBeRawPtr<TouchList> releasedTouchList = TouchList::create(); 170 RefPtrWillBeRawPtr<TouchList> releasedTouchList = TouchList::create();
171 activeTouchList->append(touch0); 171 activeTouchList->append(touch0);
172 releasedTouchList->append(touch1); 172 releasedTouchList->append(touch1);
173 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou chList.get(), activeTouchList.get(), releasedTouchList.get(), EventTypeNames::to uchend, domWindow, false, false, false, false, false); 173 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou chList.get(), activeTouchList.get(), releasedTouchList.get(), EventTypeNames::to uchend, domWindow, false, false, false, false, false, false);
174 174
175 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt); 175 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt);
176 ASSERT_EQ(2u, webTouchBuilder.touchesLength); 176 ASSERT_EQ(2u, webTouchBuilder.touchesLength);
177 EXPECT_EQ(WebInputEvent::TouchEnd, webTouchBuilder.type); 177 EXPECT_EQ(WebInputEvent::TouchEnd, webTouchBuilder.type);
178 EXPECT_EQ(WebTouchPoint::StateReleased, webTouchBuilder.touches[0].state ); 178 EXPECT_EQ(WebTouchPoint::StateReleased, webTouchBuilder.touches[0].state );
179 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta te); 179 EXPECT_EQ(WebTouchPoint::StateStationary, webTouchBuilder.touches[1].sta te);
180 EXPECT_EQ(p1.id, webTouchBuilder.touches[0].id); 180 EXPECT_EQ(p1.id, webTouchBuilder.touches[0].id);
181 EXPECT_EQ(p0.id, webTouchBuilder.touches[1].id); 181 EXPECT_EQ(p0.id, webTouchBuilder.touches[1].id);
182 } 182 }
183 183
184 // Test touchcancel. 184 // Test touchcancel.
185 { 185 {
186 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create(); 186 RefPtrWillBeRawPtr<TouchList> activeTouchList = TouchList::create();
187 RefPtrWillBeRawPtr<TouchList> cancelledTouchList = TouchList::create(); 187 RefPtrWillBeRawPtr<TouchList> cancelledTouchList = TouchList::create();
188 cancelledTouchList->append(touch0); 188 cancelledTouchList->append(touch0);
189 cancelledTouchList->append(touch1); 189 cancelledTouchList->append(touch1);
190 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou chList.get(), activeTouchList.get(), cancelledTouchList.get(), EventTypeNames::t ouchcancel, domWindow, false, false, false, false, false); 190 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(activeTou chList.get(), activeTouchList.get(), cancelledTouchList.get(), EventTypeNames::t ouchcancel, domWindow, false, false, false, false, false, false);
191 191
192 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt); 192 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt);
193 ASSERT_EQ(2u, webTouchBuilder.touchesLength); 193 ASSERT_EQ(2u, webTouchBuilder.touchesLength);
194 EXPECT_EQ(WebInputEvent::TouchCancel, webTouchBuilder.type); 194 EXPECT_EQ(WebInputEvent::TouchCancel, webTouchBuilder.type);
195 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[0].stat e); 195 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[0].stat e);
196 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[1].stat e); 196 EXPECT_EQ(WebTouchPoint::StateCancelled, webTouchBuilder.touches[1].stat e);
197 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id); 197 EXPECT_EQ(p0.id, webTouchBuilder.touches[0].id);
198 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id); 198 EXPECT_EQ(p1.id, webTouchBuilder.touches[1].id);
199 } 199 }
200 200
201 // Test max point limit. 201 // Test max point limit.
202 { 202 {
203 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); 203 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create();
204 RefPtrWillBeRawPtr<TouchList> changedTouchList = TouchList::create(); 204 RefPtrWillBeRawPtr<TouchList> changedTouchList = TouchList::create();
205 for (unsigned i = 0; i <= static_cast<unsigned>(WebTouchEvent::touchesLe ngthCap) * 2; ++i) { 205 for (unsigned i = 0; i <= static_cast<unsigned>(WebTouchEvent::touchesLe ngthCap) * 2; ++i) {
206 RefPtrWillBeRawPtr<Touch> touch = Touch::create(toLocalFrame(webView Impl->page()->mainFrame()), document.get(), i, p0.screenPosition, p0.position, F loatSize(p0.radiusX, p0.radiusY), p0.rotationAngle, p0.force); 206 RefPtrWillBeRawPtr<Touch> touch = Touch::create(toLocalFrame(webView Impl->page()->mainFrame()), document.get(), i, p0.screenPosition, p0.position, F loatSize(p0.radiusX, p0.radiusY), p0.rotationAngle, p0.force);
207 touchList->append(touch); 207 touchList->append(touch);
208 changedTouchList->append(touch); 208 changedTouchList->append(touch);
209 } 209 }
210 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow, false, false, false, false, false); 210 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchstart, domWindow, false, false, false, false, false, false);
211 211
212 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt); 212 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt);
213 ASSERT_EQ(static_cast<unsigned>(WebTouchEvent::touchesLengthCap), webTou chBuilder.touchesLength); 213 ASSERT_EQ(static_cast<unsigned>(WebTouchEvent::touchesLengthCap), webTou chBuilder.touchesLength);
214 } 214 }
215 } 215 }
216 216
217 TEST(WebInputEventConversionTest, InputEventsScaling) 217 TEST(WebInputEventConversionTest, InputEventsScaling)
218 { 218 {
219 const std::string baseURL("http://www.test1.com/"); 219 const std::string baseURL("http://www.test1.com/");
220 const std::string fileName("fixed_layout.html"); 220 const std::string fileName("fixed_layout.html");
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
416 EXPECT_EQ(32, webGestureBuilder.data.scrollUpdate.deltaY); 416 EXPECT_EQ(32, webGestureBuilder.data.scrollUpdate.deltaY);
417 EXPECT_EQ(0, webGestureBuilder.data.scrollUpdate.velocityX); 417 EXPECT_EQ(0, webGestureBuilder.data.scrollUpdate.velocityX);
418 EXPECT_EQ(0, webGestureBuilder.data.scrollUpdate.velocityY); 418 EXPECT_EQ(0, webGestureBuilder.data.scrollUpdate.velocityY);
419 EXPECT_FALSE(webGestureBuilder.data.scrollUpdate.preventPropagation); 419 EXPECT_FALSE(webGestureBuilder.data.scrollUpdate.preventPropagation);
420 } 420 }
421 421
422 { 422 {
423 RefPtrWillBeRawPtr<Touch> touch = Touch::create(toLocalFrame(webViewImpl ->page()->mainFrame()), document.get(), 0, FloatPoint(10, 9.5), FloatPoint(3.5, 2), FloatSize(4, 4.5), 0, 0); 423 RefPtrWillBeRawPtr<Touch> touch = Touch::create(toLocalFrame(webViewImpl ->page()->mainFrame()), document.get(), 0, FloatPoint(10, 9.5), FloatPoint(3.5, 2), FloatSize(4, 4.5), 0, 0);
424 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); 424 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create();
425 touchList->append(touch); 425 touchList->append(touch);
426 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchmove, domWindow, false, false, false, false, false); 426 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchmove, domWindow, false, false, false, false, false, false);
427 427
428 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt); 428 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt);
429 ASSERT_EQ(1u, webTouchBuilder.touchesLength); 429 ASSERT_EQ(1u, webTouchBuilder.touchesLength);
430 EXPECT_EQ(10, webTouchBuilder.touches[0].screenPosition.x); 430 EXPECT_EQ(10, webTouchBuilder.touches[0].screenPosition.x);
431 EXPECT_FLOAT_EQ(9.5, webTouchBuilder.touches[0].screenPosition.y); 431 EXPECT_FLOAT_EQ(9.5, webTouchBuilder.touches[0].screenPosition.y);
432 EXPECT_FLOAT_EQ(3.5, webTouchBuilder.touches[0].position.x); 432 EXPECT_FLOAT_EQ(3.5, webTouchBuilder.touches[0].position.x);
433 EXPECT_FLOAT_EQ(2, webTouchBuilder.touches[0].position.y); 433 EXPECT_FLOAT_EQ(2, webTouchBuilder.touches[0].position.y);
434 EXPECT_FLOAT_EQ(4, webTouchBuilder.touches[0].radiusX); 434 EXPECT_FLOAT_EQ(4, webTouchBuilder.touches[0].radiusX);
435 EXPECT_FLOAT_EQ(4.5, webTouchBuilder.touches[0].radiusY); 435 EXPECT_FLOAT_EQ(4.5, webTouchBuilder.touches[0].radiusY);
436 EXPECT_FALSE(webTouchBuilder.cancelable); 436 EXPECT_FALSE(webTouchBuilder.cancelable);
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
852 EXPECT_EQ(5, platformWheelBuilder.position().y()); 852 EXPECT_EQ(5, platformWheelBuilder.position().y());
853 EXPECT_EQ(10, platformWheelBuilder.deltaX()); 853 EXPECT_EQ(10, platformWheelBuilder.deltaX());
854 EXPECT_EQ(15, platformWheelBuilder.deltaY()); 854 EXPECT_EQ(15, platformWheelBuilder.deltaY());
855 EXPECT_EQ(WebInputEvent::ControlKey, platformWheelBuilder.modifiers()); 855 EXPECT_EQ(WebInputEvent::ControlKey, platformWheelBuilder.modifiers());
856 EXPECT_TRUE(platformWheelBuilder.hasPreciseScrollingDeltas()); 856 EXPECT_TRUE(platformWheelBuilder.hasPreciseScrollingDeltas());
857 EXPECT_TRUE(platformWheelBuilder.canScroll()); 857 EXPECT_TRUE(platformWheelBuilder.canScroll());
858 } 858 }
859 } 859 }
860 860
861 } // anonymous namespace 861 } // anonymous namespace
OLDNEW
« no previous file with comments | « Source/web/WebInputEventConversion.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698