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

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

Issue 703983002: Add preventPropagation bit to GestureScrollUpdate event (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase Created 6 years, 1 month 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
« no previous file with comments | « Source/web/WebViewImpl.cpp ('k') | public/web/WebInputEvent.h » ('j') | 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 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 EXPECT_EQ(10, platformMouseBuilder.globalPosition().x()); 252 EXPECT_EQ(10, platformMouseBuilder.globalPosition().x());
253 EXPECT_EQ(10, platformMouseBuilder.globalPosition().y()); 253 EXPECT_EQ(10, platformMouseBuilder.globalPosition().y());
254 EXPECT_EQ(5, platformMouseBuilder.movementDelta().x()); 254 EXPECT_EQ(5, platformMouseBuilder.movementDelta().x());
255 EXPECT_EQ(5, platformMouseBuilder.movementDelta().y()); 255 EXPECT_EQ(5, platformMouseBuilder.movementDelta().y());
256 } 256 }
257 257
258 { 258 {
259 WebGestureEvent webGestureEvent; 259 WebGestureEvent webGestureEvent;
260 webGestureEvent.type = WebInputEvent::GestureScrollUpdate; 260 webGestureEvent.type = WebInputEvent::GestureScrollUpdate;
261 webGestureEvent.x = 10; 261 webGestureEvent.x = 10;
262 webGestureEvent.y = 10; 262 webGestureEvent.y = 12;
263 webGestureEvent.globalX = 10; 263 webGestureEvent.globalX = 20;
264 webGestureEvent.globalY = 10; 264 webGestureEvent.globalY = 22;
265 webGestureEvent.data.scrollUpdate.deltaX = 10; 265 webGestureEvent.data.scrollUpdate.deltaX = 30;
266 webGestureEvent.data.scrollUpdate.deltaY = 10; 266 webGestureEvent.data.scrollUpdate.deltaY = 32;
267 webGestureEvent.data.scrollUpdate.velocityX = 40;
268 webGestureEvent.data.scrollUpdate.velocityY = 42;
269 webGestureEvent.data.scrollUpdate.preventPropagation = true;
267 270
268 PlatformGestureEventBuilder platformGestureBuilder(view, webGestureEvent ); 271 PlatformGestureEventBuilder platformGestureBuilder(view, webGestureEvent );
269 EXPECT_EQ(5, platformGestureBuilder.position().x()); 272 EXPECT_EQ(5, platformGestureBuilder.position().x());
270 EXPECT_EQ(5, platformGestureBuilder.position().y()); 273 EXPECT_EQ(6, platformGestureBuilder.position().y());
271 EXPECT_EQ(10, platformGestureBuilder.globalPosition().x()); 274 EXPECT_EQ(20, platformGestureBuilder.globalPosition().x());
272 EXPECT_EQ(10, platformGestureBuilder.globalPosition().y()); 275 EXPECT_EQ(22, platformGestureBuilder.globalPosition().y());
273 EXPECT_EQ(5, platformGestureBuilder.deltaX()); 276 EXPECT_EQ(15, platformGestureBuilder.deltaX());
274 EXPECT_EQ(5, platformGestureBuilder.deltaY()); 277 EXPECT_EQ(16, platformGestureBuilder.deltaY());
278 // TODO: The velocity values may need to be scaled to page scale in
279 // order to remain consist with delta values.
280 EXPECT_EQ(40, platformGestureBuilder.velocityX());
281 EXPECT_EQ(42, platformGestureBuilder.velocityY());
282 EXPECT_TRUE(platformGestureBuilder.preventPropagation());
275 } 283 }
276 284
277 { 285 {
278 WebGestureEvent webGestureEvent; 286 WebGestureEvent webGestureEvent;
279 webGestureEvent.type = WebInputEvent::GestureTap; 287 webGestureEvent.type = WebInputEvent::GestureTap;
280 webGestureEvent.data.tap.width = 10; 288 webGestureEvent.data.tap.width = 10;
281 webGestureEvent.data.tap.height = 10; 289 webGestureEvent.data.tap.height = 10;
282 290
283 PlatformGestureEventBuilder platformGestureBuilder(view, webGestureEvent ); 291 PlatformGestureEventBuilder platformGestureBuilder(view, webGestureEvent );
284 EXPECT_EQ(5, platformGestureBuilder.area().width()); 292 EXPECT_EQ(5, platformGestureBuilder.area().width());
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
384 } 392 }
385 393
386 { 394 {
387 PlatformMouseEvent platformMouseEvent(IntPoint(10, 10), IntPoint(10, 10) , NoButton, PlatformEvent::MouseMoved, 1, false, false, false, false, PlatformMo useEvent::RealOrIndistinguishable, 0); 395 PlatformMouseEvent platformMouseEvent(IntPoint(10, 10), IntPoint(10, 10) , NoButton, PlatformEvent::MouseMoved, 1, false, false, false, false, PlatformMo useEvent::RealOrIndistinguishable, 0);
388 RefPtrWillBeRawPtr<MouseEvent> mouseEvent = MouseEvent::create(EventType Names::mousemove, domWindow, platformMouseEvent, 0, document); 396 RefPtrWillBeRawPtr<MouseEvent> mouseEvent = MouseEvent::create(EventType Names::mousemove, domWindow, platformMouseEvent, 0, document);
389 WebMouseEventBuilder webMouseBuilder(view, documentRenderView, *mouseEve nt); 397 WebMouseEventBuilder webMouseBuilder(view, documentRenderView, *mouseEve nt);
390 EXPECT_EQ(WebMouseEvent::ButtonNone, webMouseBuilder.button); 398 EXPECT_EQ(WebMouseEvent::ButtonNone, webMouseBuilder.button);
391 } 399 }
392 400
393 { 401 {
394 PlatformGestureEvent platformGestureEvent(PlatformEvent::GestureScrollUp date, IntPoint(10, 10), IntPoint(10, 10), IntSize(10, 10), 0, false, false, fals e, false, 10, 10, 10, 10); 402 PlatformGestureEvent platformGestureEvent(PlatformEvent::GestureScrollUp date, IntPoint(10, 12), IntPoint(20, 22), IntSize(25, 27), 0, false, false, fals e, false, 30, 32, 40, 42, true);
403 // TODO: GestureEvent does not preserve velocityX, velocityY, and
404 // preventPropagation. It also fails to scale coordinates (x,y, deltaX,
405 // deltaY) to the page scale. This may lead to unexpected bugs if a
406 // PlatformGestureEvent is transformed into WebGestureEvent and back.
395 RefPtrWillBeRawPtr<GestureEvent> gestureEvent = GestureEvent::create(dom Window, platformGestureEvent); 407 RefPtrWillBeRawPtr<GestureEvent> gestureEvent = GestureEvent::create(dom Window, platformGestureEvent);
396 WebGestureEventBuilder webGestureBuilder(view, documentRenderView, *gest ureEvent); 408 WebGestureEventBuilder webGestureBuilder(view, documentRenderView, *gest ureEvent);
397 409
398 EXPECT_EQ(10, webGestureBuilder.x); 410 EXPECT_EQ(10, webGestureBuilder.x);
399 EXPECT_EQ(10, webGestureBuilder.y); 411 EXPECT_EQ(12, webGestureBuilder.y);
400 EXPECT_EQ(10, webGestureBuilder.globalX); 412 EXPECT_EQ(20, webGestureBuilder.globalX);
401 EXPECT_EQ(10, webGestureBuilder.globalY); 413 EXPECT_EQ(22, webGestureBuilder.globalY);
402 EXPECT_EQ(10, webGestureBuilder.data.scrollUpdate.deltaX); 414 EXPECT_EQ(30, webGestureBuilder.data.scrollUpdate.deltaX);
403 EXPECT_EQ(10, webGestureBuilder.data.scrollUpdate.deltaY); 415 EXPECT_EQ(32, webGestureBuilder.data.scrollUpdate.deltaY);
416 EXPECT_EQ(0, webGestureBuilder.data.scrollUpdate.velocityX);
417 EXPECT_EQ(0, webGestureBuilder.data.scrollUpdate.velocityY);
418 EXPECT_FALSE(webGestureBuilder.data.scrollUpdate.preventPropagation);
404 } 419 }
405 420
406 { 421 {
407 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); 422 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);
408 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create(); 423 RefPtrWillBeRawPtr<TouchList> touchList = TouchList::create();
409 touchList->append(touch); 424 touchList->append(touch);
410 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchmove, domWindow, false, false, false, false, false); 425 RefPtrWillBeRawPtr<TouchEvent> touchEvent = TouchEvent::create(touchList .get(), touchList.get(), touchList.get(), EventTypeNames::touchmove, domWindow, false, false, false, false, false);
411 426
412 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt); 427 WebTouchEventBuilder webTouchBuilder(view, documentRenderView, *touchEve nt);
413 ASSERT_EQ(1u, webTouchBuilder.touchesLength); 428 ASSERT_EQ(1u, webTouchBuilder.touchesLength);
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 722
708 PlatformTouchEventBuilder platformTouchBuilder(view, webTouchEvent); 723 PlatformTouchEventBuilder platformTouchBuilder(view, webTouchEvent);
709 EXPECT_FLOAT_EQ(10.6f, platformTouchBuilder.touchPoints()[0].screenPos() .x()); 724 EXPECT_FLOAT_EQ(10.6f, platformTouchBuilder.touchPoints()[0].screenPos() .x());
710 EXPECT_FLOAT_EQ(10.4f, platformTouchBuilder.touchPoints()[0].screenPos() .y()); 725 EXPECT_FLOAT_EQ(10.4f, platformTouchBuilder.touchPoints()[0].screenPos() .y());
711 EXPECT_FLOAT_EQ(5.3f + pinchOffset.x(), platformTouchBuilder.touchPoints ()[0].pos().x()); 726 EXPECT_FLOAT_EQ(5.3f + pinchOffset.x(), platformTouchBuilder.touchPoints ()[0].pos().x());
712 EXPECT_FLOAT_EQ(5.2f + pinchOffset.y(), platformTouchBuilder.touchPoints ()[0].pos().y()); 727 EXPECT_FLOAT_EQ(5.2f + pinchOffset.y(), platformTouchBuilder.touchPoints ()[0].pos().y());
713 } 728 }
714 } 729 }
715 730
716 } // anonymous namespace 731 } // anonymous namespace
OLDNEW
« no previous file with comments | « Source/web/WebViewImpl.cpp ('k') | public/web/WebInputEvent.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698