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

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

Issue 2650403006: Remove PlatformMouseEvent and use WebMouseEvent instead (Closed)
Patch Set: Created 3 years, 11 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
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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 webViewHelper.initializeAndLoad(baseURL + fileName, true); 114 webViewHelper.initializeAndLoad(baseURL + fileName, true);
115 webViewImpl->settings()->setViewportEnabled(true); 115 webViewImpl->settings()->setViewportEnabled(true);
116 int pageWidth = 640; 116 int pageWidth = 640;
117 int pageHeight = 480; 117 int pageHeight = 480;
118 webViewImpl->resize(WebSize(pageWidth, pageHeight)); 118 webViewImpl->resize(WebSize(pageWidth, pageHeight));
119 webViewImpl->updateAllLifecyclePhases(); 119 webViewImpl->updateAllLifecyclePhases();
120 120
121 webViewImpl->setPageScaleFactor(2); 121 webViewImpl->setPageScaleFactor(2);
122 122
123 FrameView* view = toLocalFrame(webViewImpl->page()->mainFrame())->view(); 123 FrameView* view = toLocalFrame(webViewImpl->page()->mainFrame())->view();
124 Document* document =
125 toLocalFrame(webViewImpl->page()->mainFrame())->document();
126 LocalDOMWindow* domWindow = document->domWindow();
127 LayoutViewItem documentLayoutView = document->layoutViewItem();
128 124
129 { 125 {
130 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove, 126 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove,
131 WebInputEvent::NoModifiers, 127 WebInputEvent::NoModifiers,
132 WebInputEvent::TimeStampForTesting); 128 WebInputEvent::TimeStampForTesting);
133 webMouseEvent.x = 10; 129 webMouseEvent.x = 10;
134 webMouseEvent.y = 10; 130 webMouseEvent.y = 10;
135 webMouseEvent.windowX = 10; 131 webMouseEvent.windowX = 10;
136 webMouseEvent.windowY = 10; 132 webMouseEvent.windowY = 10;
137 webMouseEvent.globalX = 10; 133 webMouseEvent.globalX = 10;
138 webMouseEvent.globalY = 10; 134 webMouseEvent.globalY = 10;
139 webMouseEvent.movementX = 10; 135 webMouseEvent.movementX = 10;
140 webMouseEvent.movementY = 10; 136 webMouseEvent.movementY = 10;
141 137
142 PlatformMouseEventBuilder platformMouseBuilder(view, webMouseEvent); 138 WebMouseEvent transformedEvent =
143 EXPECT_EQ(5, platformMouseBuilder.position().x()); 139 TransformWebMouseEvent(view, webMouseEvent);
144 EXPECT_EQ(5, platformMouseBuilder.position().y()); 140 IntPoint position = flooredIntPoint(transformedEvent.positionInRootFrame());
145 EXPECT_EQ(10, platformMouseBuilder.globalPosition().x()); 141 EXPECT_EQ(5, position.x());
146 EXPECT_EQ(10, platformMouseBuilder.globalPosition().y()); 142 EXPECT_EQ(5, position.y());
147 EXPECT_EQ(5, platformMouseBuilder.movementDelta().x()); 143 EXPECT_EQ(10, transformedEvent.globalX);
148 EXPECT_EQ(5, platformMouseBuilder.movementDelta().y()); 144 EXPECT_EQ(10, transformedEvent.globalY);
145
146 IntPoint movement = flooredIntPoint(transformedEvent.movementInRootFrame());
147 EXPECT_EQ(5, movement.x());
148 EXPECT_EQ(5, movement.y());
149 } 149 }
150 150
151 { 151 {
152 WebGestureEvent webGestureEvent(WebInputEvent::GestureScrollUpdate, 152 WebGestureEvent webGestureEvent(WebInputEvent::GestureScrollUpdate,
153 WebInputEvent::NoModifiers, 153 WebInputEvent::NoModifiers,
154 WebInputEvent::TimeStampForTesting); 154 WebInputEvent::TimeStampForTesting);
155 webGestureEvent.sourceDevice = WebGestureDeviceTouchscreen; 155 webGestureEvent.sourceDevice = WebGestureDeviceTouchscreen;
156 webGestureEvent.x = 10; 156 webGestureEvent.x = 10;
157 webGestureEvent.y = 12; 157 webGestureEvent.y = 12;
158 webGestureEvent.globalX = 20; 158 webGestureEvent.globalX = 20;
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 WebTouchEvent transformedEvent = 319 WebTouchEvent transformedEvent =
320 TransformWebTouchEvent(view, webTouchEvent); 320 TransformWebTouchEvent(view, webTouchEvent);
321 WebTouchPoint transformedPoint = transformedEvent.touchPointInRootFrame(0); 321 WebTouchPoint transformedPoint = transformedEvent.touchPointInRootFrame(0);
322 EXPECT_FLOAT_EQ(10.6f, transformedPoint.screenPosition.x); 322 EXPECT_FLOAT_EQ(10.6f, transformedPoint.screenPosition.x);
323 EXPECT_FLOAT_EQ(10.4f, transformedPoint.screenPosition.y); 323 EXPECT_FLOAT_EQ(10.4f, transformedPoint.screenPosition.y);
324 EXPECT_FLOAT_EQ(5.3f, transformedPoint.position.x); 324 EXPECT_FLOAT_EQ(5.3f, transformedPoint.position.x);
325 EXPECT_FLOAT_EQ(5.2f, transformedPoint.position.y); 325 EXPECT_FLOAT_EQ(5.2f, transformedPoint.position.y);
326 EXPECT_FLOAT_EQ(5.3f, transformedPoint.radiusX); 326 EXPECT_FLOAT_EQ(5.3f, transformedPoint.radiusX);
327 EXPECT_FLOAT_EQ(5.2f, transformedPoint.radiusY); 327 EXPECT_FLOAT_EQ(5.2f, transformedPoint.radiusY);
328 } 328 }
329
330 // Reverse builders should *not* go back to physical pixels, as they are used
331 // for plugins which expect CSS pixel coordinates.
332 {
333 PlatformMouseEvent platformMouseEvent(
334 IntPoint(10, 10), IntPoint(10, 10), WebPointerProperties::Button::Left,
335 PlatformEvent::MouseMoved, 1, PlatformEvent::NoModifiers,
336 PlatformMouseEvent::RealOrIndistinguishable, TimeTicks());
337 MouseEvent* mouseEvent = MouseEvent::create(
338 EventTypeNames::mousemove, domWindow, platformMouseEvent, 0, document);
339 WebMouseEventBuilder webMouseBuilder(view, documentLayoutView, *mouseEvent);
340
341 EXPECT_EQ(10, webMouseBuilder.x);
342 EXPECT_EQ(10, webMouseBuilder.y);
343 EXPECT_EQ(10, webMouseBuilder.globalX);
344 EXPECT_EQ(10, webMouseBuilder.globalY);
345 EXPECT_EQ(10, webMouseBuilder.windowX);
346 EXPECT_EQ(10, webMouseBuilder.windowY);
347 }
348
349 {
350 PlatformMouseEvent platformMouseEvent(
351 IntPoint(10, 10), IntPoint(10, 10),
352 WebPointerProperties::Button::NoButton, PlatformEvent::MouseMoved, 1,
353 PlatformEvent::NoModifiers, PlatformMouseEvent::RealOrIndistinguishable,
354 TimeTicks());
355 MouseEvent* mouseEvent = MouseEvent::create(
356 EventTypeNames::mousemove, domWindow, platformMouseEvent, 0, document);
357 WebMouseEventBuilder webMouseBuilder(view, documentLayoutView, *mouseEvent);
358 EXPECT_EQ(WebMouseEvent::Button::NoButton, webMouseBuilder.button);
359 }
360 } 329 }
361 330
362 TEST(WebInputEventConversionTest, InputEventsTransform) { 331 TEST(WebInputEventConversionTest, InputEventsTransform) {
363 const std::string baseURL("http://www.test2.com/"); 332 const std::string baseURL("http://www.test2.com/");
364 const std::string fileName("fixed_layout.html"); 333 const std::string fileName("fixed_layout.html");
365 334
366 URLTestHelpers::registerMockedURLFromBaseURL( 335 URLTestHelpers::registerMockedURLFromBaseURL(
367 WebString::fromUTF8(baseURL.c_str()), 336 WebString::fromUTF8(baseURL.c_str()),
368 WebString::fromUTF8("fixed_layout.html")); 337 WebString::fromUTF8("fixed_layout.html"));
369 FrameTestHelpers::WebViewHelper webViewHelper; 338 FrameTestHelpers::WebViewHelper webViewHelper;
(...skipping 17 matching lines...) Expand all
387 WebInputEvent::TimeStampForTesting); 356 WebInputEvent::TimeStampForTesting);
388 webMouseEvent.x = 100; 357 webMouseEvent.x = 100;
389 webMouseEvent.y = 110; 358 webMouseEvent.y = 110;
390 webMouseEvent.windowX = 100; 359 webMouseEvent.windowX = 100;
391 webMouseEvent.windowY = 110; 360 webMouseEvent.windowY = 110;
392 webMouseEvent.globalX = 100; 361 webMouseEvent.globalX = 100;
393 webMouseEvent.globalY = 110; 362 webMouseEvent.globalY = 110;
394 webMouseEvent.movementX = 60; 363 webMouseEvent.movementX = 60;
395 webMouseEvent.movementY = 60; 364 webMouseEvent.movementY = 60;
396 365
397 PlatformMouseEventBuilder platformMouseBuilder(view, webMouseEvent); 366 WebMouseEvent transformedEvent =
398 EXPECT_EQ(30, platformMouseBuilder.position().x()); 367 TransformWebMouseEvent(view, webMouseEvent);
399 EXPECT_EQ(30, platformMouseBuilder.position().y()); 368 FloatPoint position = transformedEvent.positionInRootFrame();
400 EXPECT_EQ(100, platformMouseBuilder.globalPosition().x()); 369
401 EXPECT_EQ(110, platformMouseBuilder.globalPosition().y()); 370 EXPECT_FLOAT_EQ(30, position.x());
402 EXPECT_EQ(20, platformMouseBuilder.movementDelta().x()); 371 EXPECT_FLOAT_EQ(30, position.y());
403 EXPECT_EQ(20, platformMouseBuilder.movementDelta().y()); 372 EXPECT_EQ(100, transformedEvent.globalX);
373 EXPECT_EQ(110, transformedEvent.globalY);
374
375 IntPoint movement = flooredIntPoint(transformedEvent.movementInRootFrame());
376 EXPECT_EQ(20, movement.x());
377 EXPECT_EQ(20, movement.y());
404 } 378 }
405 379
406 { 380 {
407 WebMouseEvent webMouseEvent1(WebInputEvent::MouseMove, 381 WebMouseEvent webMouseEvent1(WebInputEvent::MouseMove,
408 WebInputEvent::NoModifiers, 382 WebInputEvent::NoModifiers,
409 WebInputEvent::TimeStampForTesting); 383 WebInputEvent::TimeStampForTesting);
410 webMouseEvent1.x = 100; 384 webMouseEvent1.x = 100;
411 webMouseEvent1.y = 110; 385 webMouseEvent1.y = 110;
412 webMouseEvent1.windowX = 100; 386 webMouseEvent1.windowX = 100;
413 webMouseEvent1.windowY = 110; 387 webMouseEvent1.windowY = 110;
414 webMouseEvent1.globalX = 100; 388 webMouseEvent1.globalX = 100;
415 webMouseEvent1.globalY = 110; 389 webMouseEvent1.globalY = 110;
416 webMouseEvent1.movementX = 60; 390 webMouseEvent1.movementX = 60;
417 webMouseEvent1.movementY = 60; 391 webMouseEvent1.movementY = 60;
418 392
419 WebMouseEvent webMouseEvent2 = webMouseEvent1; 393 WebMouseEvent webMouseEvent2 = webMouseEvent1;
420 webMouseEvent2.y = 140; 394 webMouseEvent2.y = 140;
421 webMouseEvent2.windowY = 140; 395 webMouseEvent2.windowY = 140;
422 webMouseEvent2.globalY = 140; 396 webMouseEvent2.globalY = 140;
423 webMouseEvent2.movementY = 30; 397 webMouseEvent2.movementY = 30;
424 398
425 std::vector<const WebInputEvent*> events; 399 std::vector<const WebInputEvent*> events;
426 events.push_back(&webMouseEvent1); 400 events.push_back(&webMouseEvent1);
427 events.push_back(&webMouseEvent2); 401 events.push_back(&webMouseEvent2);
428 402
429 Vector<PlatformMouseEvent> coalescedevents = 403 Vector<WebMouseEvent> coalescedevents =
430 createPlatformMouseEventVector(view, events); 404 TransformWebMouseEventVector(view, events);
431 EXPECT_EQ(events.size(), coalescedevents.size()); 405 EXPECT_EQ(events.size(), coalescedevents.size());
432 406
433 EXPECT_EQ(30, coalescedevents[0].position().x()); 407 FloatPoint position = coalescedevents[0].positionInRootFrame();
434 EXPECT_EQ(30, coalescedevents[0].position().y()); 408 EXPECT_FLOAT_EQ(30, position.x());
435 EXPECT_EQ(100, coalescedevents[0].globalPosition().x()); 409 EXPECT_FLOAT_EQ(30, position.y());
436 EXPECT_EQ(110, coalescedevents[0].globalPosition().y()); 410 EXPECT_EQ(100, coalescedevents[0].globalX);
437 EXPECT_EQ(20, coalescedevents[0].movementDelta().x()); 411 EXPECT_EQ(110, coalescedevents[0].globalY);
438 EXPECT_EQ(20, coalescedevents[0].movementDelta().y());
439 412
440 EXPECT_EQ(30, coalescedevents[1].position().x()); 413 IntPoint movement =
441 EXPECT_EQ(40, coalescedevents[1].position().y()); 414 flooredIntPoint(coalescedevents[0].movementInRootFrame());
442 EXPECT_EQ(100, coalescedevents[1].globalPosition().x()); 415 EXPECT_EQ(20, movement.x());
443 EXPECT_EQ(140, coalescedevents[1].globalPosition().y()); 416 EXPECT_EQ(20, movement.y());
444 EXPECT_EQ(20, coalescedevents[1].movementDelta().x()); 417
445 EXPECT_EQ(10, coalescedevents[1].movementDelta().y()); 418 position = coalescedevents[1].positionInRootFrame();
419 EXPECT_FLOAT_EQ(30, position.x());
420 EXPECT_FLOAT_EQ(40, position.y());
421 EXPECT_EQ(100, coalescedevents[1].globalX);
422 EXPECT_EQ(140, coalescedevents[1].globalY);
423
424 movement = flooredIntPoint(coalescedevents[1].movementInRootFrame());
425 EXPECT_EQ(20, movement.x());
426 EXPECT_EQ(10, movement.y());
446 } 427 }
447 428
448 { 429 {
449 WebGestureEvent webGestureEvent(WebInputEvent::GestureScrollUpdate, 430 WebGestureEvent webGestureEvent(WebInputEvent::GestureScrollUpdate,
450 WebInputEvent::NoModifiers, 431 WebInputEvent::NoModifiers,
451 WebInputEvent::TimeStampForTesting); 432 WebInputEvent::TimeStampForTesting);
452 webGestureEvent.sourceDevice = WebGestureDeviceTouchscreen; 433 webGestureEvent.sourceDevice = WebGestureDeviceTouchscreen;
453 webGestureEvent.x = 100; 434 webGestureEvent.x = 100;
454 webGestureEvent.y = 110; 435 webGestureEvent.y = 110;
455 webGestureEvent.globalX = 100; 436 webGestureEvent.globalX = 100;
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove, 677 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove,
697 WebInputEvent::NoModifiers, 678 WebInputEvent::NoModifiers,
698 WebInputEvent::TimeStampForTesting); 679 WebInputEvent::TimeStampForTesting);
699 webMouseEvent.x = 10; 680 webMouseEvent.x = 10;
700 webMouseEvent.y = 10; 681 webMouseEvent.y = 10;
701 webMouseEvent.windowX = 10; 682 webMouseEvent.windowX = 10;
702 webMouseEvent.windowY = 10; 683 webMouseEvent.windowY = 10;
703 webMouseEvent.globalX = 10; 684 webMouseEvent.globalX = 10;
704 webMouseEvent.globalY = 10; 685 webMouseEvent.globalY = 10;
705 686
706 PlatformMouseEventBuilder platformMouseBuilder(view, webMouseEvent); 687 WebMouseEvent transformedMouseEvent =
707 EXPECT_EQ(5 + visualOffset.x(), platformMouseBuilder.position().x()); 688 TransformWebMouseEvent(view, webMouseEvent);
708 EXPECT_EQ(5 + visualOffset.y(), platformMouseBuilder.position().y()); 689 IntPoint position =
709 EXPECT_EQ(10, platformMouseBuilder.globalPosition().x()); 690 flooredIntPoint(transformedMouseEvent.positionInRootFrame());
710 EXPECT_EQ(10, platformMouseBuilder.globalPosition().y()); 691 EXPECT_EQ(5 + visualOffset.x(), position.x());
692 EXPECT_EQ(5 + visualOffset.y(), position.y());
693 EXPECT_EQ(10, transformedMouseEvent.globalX);
694 EXPECT_EQ(10, transformedMouseEvent.globalY);
711 } 695 }
712 696
713 { 697 {
714 WebMouseWheelEvent webMouseWheelEvent(WebInputEvent::MouseWheel, 698 WebMouseWheelEvent webMouseWheelEvent(WebInputEvent::MouseWheel,
715 WebInputEvent::NoModifiers, 699 WebInputEvent::NoModifiers,
716 WebInputEvent::TimeStampForTesting); 700 WebInputEvent::TimeStampForTesting);
717 webMouseWheelEvent.x = 10; 701 webMouseWheelEvent.x = 10;
718 webMouseWheelEvent.y = 10; 702 webMouseWheelEvent.y = 10;
719 webMouseWheelEvent.windowX = 10; 703 webMouseWheelEvent.windowX = 10;
720 webMouseWheelEvent.windowY = 10; 704 webMouseWheelEvent.windowY = 10;
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove, 788 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove,
805 WebInputEvent::NoModifiers, 789 WebInputEvent::NoModifiers,
806 WebInputEvent::TimeStampForTesting); 790 WebInputEvent::TimeStampForTesting);
807 webMouseEvent.x = 10; 791 webMouseEvent.x = 10;
808 webMouseEvent.y = 50; 792 webMouseEvent.y = 50;
809 webMouseEvent.windowX = 10; 793 webMouseEvent.windowX = 10;
810 webMouseEvent.windowY = 50; 794 webMouseEvent.windowY = 50;
811 webMouseEvent.globalX = 10; 795 webMouseEvent.globalX = 10;
812 webMouseEvent.globalY = 50; 796 webMouseEvent.globalY = 50;
813 797
814 PlatformMouseEventBuilder platformMouseBuilder(view, webMouseEvent); 798 WebMouseEvent transformedMouseEvent =
815 EXPECT_EQ(webMouseEvent.x + elasticOverscroll.width(), 799 TransformWebMouseEvent(view, webMouseEvent);
816 platformMouseBuilder.position().x()); 800 IntPoint position =
817 EXPECT_EQ(webMouseEvent.y + elasticOverscroll.height(), 801 flooredIntPoint(transformedMouseEvent.positionInRootFrame());
818 platformMouseBuilder.position().y()); 802
819 EXPECT_EQ(webMouseEvent.globalX, platformMouseBuilder.globalPosition().x()); 803 EXPECT_EQ(webMouseEvent.x + elasticOverscroll.width(), position.x());
820 EXPECT_EQ(webMouseEvent.globalY, platformMouseBuilder.globalPosition().y()); 804 EXPECT_EQ(webMouseEvent.y + elasticOverscroll.height(), position.y());
805 EXPECT_EQ(webMouseEvent.globalX, transformedMouseEvent.globalX);
806 EXPECT_EQ(webMouseEvent.globalY, transformedMouseEvent.globalY);
821 } 807 }
822 808
823 // Elastic overscroll and pinch-zoom (this doesn't actually ever happen, 809 // Elastic overscroll and pinch-zoom (this doesn't actually ever happen,
824 // but ensure that if it were to, the overscroll would be applied after the 810 // but ensure that if it were to, the overscroll would be applied after the
825 // pinch-zoom). 811 // pinch-zoom).
826 float pageScale = 2; 812 float pageScale = 2;
827 webViewImpl->setPageScaleFactor(pageScale); 813 webViewImpl->setPageScaleFactor(pageScale);
828 IntPoint visualOffset(35, 60); 814 IntPoint visualOffset(35, 60);
829 webViewImpl->page()->frameHost().visualViewport().setLocation(visualOffset); 815 webViewImpl->page()->frameHost().visualViewport().setLocation(visualOffset);
830 { 816 {
831 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove, 817 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove,
832 WebInputEvent::NoModifiers, 818 WebInputEvent::NoModifiers,
833 WebInputEvent::TimeStampForTesting); 819 WebInputEvent::TimeStampForTesting);
834 webMouseEvent.x = 10; 820 webMouseEvent.x = 10;
835 webMouseEvent.y = 10; 821 webMouseEvent.y = 10;
836 webMouseEvent.windowX = 10; 822 webMouseEvent.windowX = 10;
837 webMouseEvent.windowY = 10; 823 webMouseEvent.windowY = 10;
838 webMouseEvent.globalX = 10; 824 webMouseEvent.globalX = 10;
839 webMouseEvent.globalY = 10; 825 webMouseEvent.globalY = 10;
840 826
841 PlatformMouseEventBuilder platformMouseBuilder(view, webMouseEvent); 827 WebMouseEvent transformedMouseEvent =
828 TransformWebMouseEvent(view, webMouseEvent);
829 IntPoint position =
830 flooredIntPoint(transformedMouseEvent.positionInRootFrame());
831
842 EXPECT_EQ(webMouseEvent.x / pageScale + visualOffset.x() + 832 EXPECT_EQ(webMouseEvent.x / pageScale + visualOffset.x() +
843 elasticOverscroll.width(), 833 elasticOverscroll.width(),
844 platformMouseBuilder.position().x()); 834 position.x());
845 EXPECT_EQ(webMouseEvent.y / pageScale + visualOffset.y() + 835 EXPECT_EQ(webMouseEvent.y / pageScale + visualOffset.y() +
846 elasticOverscroll.height(), 836 elasticOverscroll.height(),
847 platformMouseBuilder.position().y()); 837 position.y());
848 EXPECT_EQ(webMouseEvent.globalX, platformMouseBuilder.globalPosition().x()); 838 EXPECT_EQ(webMouseEvent.globalX, transformedMouseEvent.globalX);
849 EXPECT_EQ(webMouseEvent.globalY, platformMouseBuilder.globalPosition().y()); 839 EXPECT_EQ(webMouseEvent.globalY, transformedMouseEvent.globalY);
850 } 840 }
851 } 841 }
852 842
853 // Page reload/navigation should not reset elastic overscroll. 843 // Page reload/navigation should not reset elastic overscroll.
854 TEST(WebInputEventConversionTest, ElasticOverscrollWithPageReload) { 844 TEST(WebInputEventConversionTest, ElasticOverscrollWithPageReload) {
855 const std::string baseURL("http://www.test6.com/"); 845 const std::string baseURL("http://www.test6.com/");
856 const std::string fileName("fixed_layout.html"); 846 const std::string fileName("fixed_layout.html");
857 847
858 URLTestHelpers::registerMockedURLFromBaseURL( 848 URLTestHelpers::registerMockedURLFromBaseURL(
859 WebString::fromUTF8(baseURL.c_str()), 849 WebString::fromUTF8(baseURL.c_str()),
(...skipping 17 matching lines...) Expand all
877 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove, 867 WebMouseEvent webMouseEvent(WebInputEvent::MouseMove,
878 WebInputEvent::NoModifiers, 868 WebInputEvent::NoModifiers,
879 WebInputEvent::TimeStampForTesting); 869 WebInputEvent::TimeStampForTesting);
880 webMouseEvent.x = 10; 870 webMouseEvent.x = 10;
881 webMouseEvent.y = 50; 871 webMouseEvent.y = 50;
882 webMouseEvent.windowX = 10; 872 webMouseEvent.windowX = 10;
883 webMouseEvent.windowY = 50; 873 webMouseEvent.windowY = 50;
884 webMouseEvent.globalX = 10; 874 webMouseEvent.globalX = 10;
885 webMouseEvent.globalY = 50; 875 webMouseEvent.globalY = 50;
886 876
887 PlatformMouseEventBuilder platformMouseBuilder(view, webMouseEvent); 877 WebMouseEvent transformedMouseEvent =
888 EXPECT_EQ(webMouseEvent.x + elasticOverscroll.width(), 878 TransformWebMouseEvent(view, webMouseEvent);
889 platformMouseBuilder.position().x()); 879 IntPoint position =
890 EXPECT_EQ(webMouseEvent.y + elasticOverscroll.height(), 880 flooredIntPoint(transformedMouseEvent.positionInRootFrame());
891 platformMouseBuilder.position().y()); 881
892 EXPECT_EQ(webMouseEvent.globalX, platformMouseBuilder.globalPosition().x()); 882 EXPECT_EQ(webMouseEvent.x + elasticOverscroll.width(), position.x());
893 EXPECT_EQ(webMouseEvent.globalY, platformMouseBuilder.globalPosition().y()); 883 EXPECT_EQ(webMouseEvent.y + elasticOverscroll.height(), position.y());
884 EXPECT_EQ(webMouseEvent.globalX, transformedMouseEvent.globalX);
885 EXPECT_EQ(webMouseEvent.globalY, transformedMouseEvent.globalY);
894 } 886 }
895 } 887 }
896 888
897 } // namespace blink 889 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698