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

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

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