| OLD | NEW |
| 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> |
| OLD | NEW |