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

Side by Side Diff: third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/pointer-event-properties-in-iframe.html

Issue 1960233002: Fix mouse pointer event clientX/Y (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix a typo Created 4 years, 7 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 <!DOCTYPE HTML> 1 <!DOCTYPE HTML>
2 <script src='../../../../../resources/js-test.js'></script> 2 <script src='../../../../../resources/js-test.js'></script>
3 <style> 3 <style>
4 iframe { 4 iframe {
5 width: 300px; 5 width: 300px;
6 height: 300px; 6 height: 300px;
7 top: 100px; 7 top: 100px;
8 left: 50px; 8 left: 50px;
9 border: 0; 9 border: 0;
10 position: absolute; 10 position: absolute;
11 background: green; 11 background: green;
12 } 12 }
13 </style> 13 </style>
14 <iframe id='target' srcdoc=" 14 <iframe id='target' srcdoc="
15 <body style='height:500px; width: 500px; padding: 0; margin: 0;'> 15 <body style='height:500px; width: 500px; padding: 0; margin: 0;'>
16 <script> 16 <script>
17 var testEventList = ['pointerup', 'pointerdown', 'pointermove', 17 var testEventList = ['pointerup', 'pointerdown', 'pointermove',
18 'touchstart', 'touchmove', 'touchend']; 18 'touchstart', 'touchmove', 'touchend',
19 'mouseup', 'mousedown', 'mousemove'];
19 testEventList.forEach(function(eventName) { 20 testEventList.forEach(function(eventName) {
20 document.documentElement.addEventListener(eventName, function(event) { 21 document.documentElement.addEventListener(eventName, function(event) {
21 top.document.events.push(event); 22 top.document.events.push(event);
22 }); 23 });
23 }); 24 });
24 </script> 25 </script>
25 </body>"> 26 </body>">
26 </iframe> 27 </iframe>
27 28
28 <div id='console'></div> 29 <div id='console'></div>
29 30
30 <script> 31 <script>
31 32
32 var attributes = [ 33 var attributes = [
33 'clientX', 34 'clientX',
34 'clientY' 35 'clientY'
35 ]; 36 ];
36 37
37 document.events = []; 38 document.events = [];
38 39
39 function testScenario(scrollX, scrollY, zoomFactor) { 40 function testScenario(scrollX, scrollY, zoomFactor) {
40 debug('===== scrollX=' + scrollX + ', scrollY=' + scrollY + ', zoomFactor=' + zoomFactor); 41 debug('===== scrollX=' + scrollX + ', scrollY=' + scrollY + ', zoomFactor=' + zoomFactor);
41 42
42 document.getElementById('target').contentWindow.scrollTo(scrollX, scrollY); 43 document.getElementById('target').contentWindow.scrollTo(scrollX, scrollY);
43 window.internals.setZoomFactor(zoomFactor); 44 window.internals.setZoomFactor(zoomFactor);
44 45
46 debug(' *** Mouse events inside iframe ***');
47 // mouse events inside iframe
48 eventSender.mouseMoveTo(200, 200);
49 eventSender.mouseDown(0);
50 eventSender.mouseUp(0);
51 dumpEvents();
52
53 debug(' *** Touch events inside iframe ***');
45 // touch events inside iframe 54 // touch events inside iframe
46 eventSender.addTouchPoint(200, 200) 55 eventSender.addTouchPoint(200, 200)
47 eventSender.touchStart(); 56 eventSender.touchStart();
48 eventSender.updateTouchPoint(0, 200, 200); 57 eventSender.updateTouchPoint(0, 200, 200);
49 eventSender.touchMove(); 58 eventSender.touchMove();
50 eventSender.releaseTouchPoint(0); 59 eventSender.releaseTouchPoint(0);
51 eventSender.touchEnd(); 60 eventSender.touchEnd();
52 61
53 dumpEvents(); 62 dumpEvents();
54 debug(''); 63 debug('');
55 } 64 }
56 65
57 function runTests(scrollX, scrollY) { 66 function runTests() {
58 testScenario(25, 100, 1); 67 testScenario(25, 100, 1);
59 testScenario(40, 140, 1); 68 testScenario(40, 140, 1);
60 testScenario(40, 140, 2); 69 testScenario(40, 140, 2);
61 70
62 testRunner.notifyDone(); 71 testRunner.notifyDone();
63 } 72 }
64 73
65 function dumpEvents() 74 function dumpEvents()
66 { 75 {
67 document.events.forEach(function(event) { 76 document.events.forEach(function(event) {
68 if (event.type.startsWith('pointer')) { 77 if (event.type.startsWith('pointer')) {
69 debug(event.type + " of " + event.pointerType + " is recieved:"); 78 debug(event.type + " of " + event.pointerType + " is recieved:");
70 attributes.forEach(function(att) { 79 attributes.forEach(function(att) {
71 debug(att + " = " + event[att]); 80 debug(att + " = " + event[att]);
72 }); 81 });
73 } else if (event.type.startsWith('touch')) { 82 } else if (event.type.startsWith('touch')) {
74 debug(event.type + " is recieved:"); 83 debug(event.type + " is recieved:");
75 attributes.forEach(function(att) { 84 attributes.forEach(function(att) {
76 debug(att + " = " + event.changedTouches[0][att]); 85 debug(att + " = " + event.changedTouches[0][att]);
77 }); 86 });
87 } else {
88 debug(event.type + " is recieved:");
89 attributes.forEach(function(att) {
90 debug(att + " = " + event[att]);
91 });
78 } 92 }
79 }); 93 });
80 document.events = []; 94 document.events = [];
81 } 95 }
82 96
83 if (window.eventSender) { 97 if (window.eventSender) {
84 testRunner.waitUntilDone(); 98 testRunner.waitUntilDone();
85 window.onload = runTests; 99 window.onload = runTests;
86 } else 100 } else
87 debug('This test requires eventSender'); 101 debug('This test requires eventSender');
88 102
89 description("This test verifies clientX/Y of pointer events inside iframe."); 103 description("This test verifies clientX/Y of pointer events inside iframe.");
90 104
91 </script> 105 </script>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/pointer-event-properties-in-iframe-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698