Changeset 121735 in webkit
- Timestamp:
- Jul 3, 2012 12:06:06 AM (12 years ago)
- Location:
- trunk/LayoutTests
- Files:
-
- 1 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r121734 r121735 1 2012-07-03 Hironori Bono <hbono@chromium.org> 2 3 Calculate client positions from offsets. 4 https://bugs.webkit.org/show_bug.cgi?id=73640 5 6 Reviewed by Tony Chang. 7 8 This change calculates client positions from offset positions at run time to 9 remove platform-dependent constants from this test. 10 11 * fast/events/offsetX-offsetY-expected.txt: 12 * fast/events/offsetX-offsetY.html: 13 * platform/chromium-win/fast/events/offsetX-offsetY-expected.txt: Removed. 14 1 15 2012-07-03 Christophe Dumez <christophe.dumez@intel.com> 2 16 -
trunk/LayoutTests/fast/events/offsetX-offsetY-expected.txt
r102216 r121735 15 15 Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 16 16 17 PASS: event at (112, 62)hit abs-box at offset (32, 37)18 PASS: event at (157, 32)hit rel-box at offset (22, 24)19 PASS: event at (410, 30)hit fixed-box at offset (10, 10)20 PASS: event at (36, 272)hit with-bordertopextra at offset (4, 4)21 FAIL: event at (639, 207) expected to hit in-columns at (35, 5) but hit in-columns at (35, 15)22 PASS: event at (563, 410)hit inside-overflow at offset (7, 6)23 PASS: event at (112, 369)hit transformed at offset (11, 16)17 PASS: event hit abs-box at offset (32, 37) 18 PASS: event hit rel-box at offset (22, 24) 19 PASS: event hit fixed-box at offset (10, 10) 20 PASS: event hit with-bordertopextra at offset (4, 4) 21 PASS: event hit in-columns at offset (35, 5) 22 PASS: event hit inside-overflow at offset (7, 6) 23 PASS: event hit transformed at offset (11, 16) 24 24 -
trunk/LayoutTests/fast/events/offsetX-offsetY.html
r120792 r121735 34 34 document.body.addEventListener('mousemove', mousemoved, false); 35 35 36 dispatchEvent(112, 62, 'abs-box', 32, 37); 37 dispatchEvent(157, 32, 'rel-box', 22, 24); 38 dispatchEvent(410, 30, 'fixed-box', 10, 10); 39 dispatchEvent(36, 272, 'with-bordertopextra', 4, 4); 40 dispatchEvent(639, 207, 'in-columns', 35, 5); 41 dispatchEvent(563, 410, 'inside-overflow', 7, 6); 42 dispatchEvent(112, 369, 'transformed', 11, 16); 36 var offsetX = 32; 37 var offsetY = 37; 38 var positions = sumPositions(document.getElementById('abs-box')); 39 var clientX = positions.offsetLeft - positions.scrollLeft + offsetX; 40 var clientY = positions.offsetTop - positions.scrollTop + offsetY; 41 dispatchEvent(clientX, clientY, 'abs-box', offsetX, offsetY); 42 43 offsetX = 22; 44 offsetY = 24; 45 positions = sumPositions(document.getElementById('rel-box')); 46 clientX = positions.offsetLeft + positions.clientLeft - positions.scrollLeft + offsetX; 47 clientY = positions.offsetTop + positions.clientLeft - positions.scrollTop + offsetY; 48 dispatchEvent(clientX, clientY, 'rel-box', offsetX, offsetY); 49 50 offsetX = 10; 51 offsetY = 10; 52 positions = sumPositions(document.getElementById('fixed-box')); 53 clientX = positions.offsetLeft + offsetX; 54 clientY = positions.offsetTop + offsetY; 55 dispatchEvent(clientX, clientY, 'fixed-box', offsetX, offsetY); 56 57 offsetX = 4; 58 offsetY = 4; 59 positions = sumPositions(document.getElementById('with-bordertopextra')); 60 clientX = positions.offsetLeft - positions.scrollLeft + offsetX; 61 clientY = positions.offsetTop - positions.scrollTop + offsetY; 62 dispatchEvent(clientX, clientY, 'with-bordertopextra', offsetX, offsetY); 63 64 offsetX = 35; 65 offsetY = 5; 66 positions = sumPositions(document.getElementById('in-columns')); 67 clientX = positions.offsetLeft + positions.clientLeft - positions.scrollLeft + offsetX; 68 clientY = positions.offsetTop + positions.clientTop - positions.scrollTop + offsetY; 69 dispatchEvent(clientX, clientY, 'in-columns', offsetX, offsetY); 70 71 offsetX = 7; 72 offsetY = 6; 73 positions = sumPositions(document.getElementById('inside-overflow')); 74 clientY = positions.offsetTop + positions.clientTop - positions.scrollTop + offsetY; 75 76 var content = document.getElementById('overflow-contents'); 77 positions = sumPositions(content); 78 var inside = document.getElementById('inside-overflow'); 79 var borderLeft = 2; 80 clientX = positions.offsetLeft + borderLeft + content.clientWidth - inside.clientWidth - window.scrollX + offsetX; 81 dispatchEvent(clientX, clientY, 'inside-overflow', offsetX, offsetY); 82 83 offsetX = 11; 84 offsetY = 16; 85 positions = sumPositions(document.getElementById('transformed')); 86 var sin20 = Math.sin(-20 * Math.PI / 180); 87 var cos20 = Math.cos(-20 * Math.PI / 180); 88 clientX = positions.offsetLeft + positions.clientLeft - positions.scrollLeft + 100 + Math.round(100 - (100 - offsetX) * cos20 - (60 - offsetY) * sin20); 89 clientY = positions.offsetTop + positions.clientTop - positions.scrollTop + 50 + Math.round(60 + (100 - offsetX) * sin20 - (60 - offsetY) * cos20); 90 dispatchEvent(clientX, clientY, 'transformed', offsetX, offsetY); 43 91 44 92 if (window.testRunner) … … 46 94 } 47 95 96 function sumPositions(element) 97 { 98 var offsetLeft = 0; 99 var offsetTop = 0; 100 var clientLeft = 0; 101 var clientTop = 0; 102 var scrollLeft = 0; 103 var scrollTop = 0; 104 while (element) { 105 offsetLeft += element.offsetLeft; 106 offsetTop += element.offsetTop; 107 clientLeft += element.clientLeft; 108 clientTop += element.clientTop; 109 scrollLeft += element.scrollLeft; 110 scrollTop += element.scrollTop; 111 element = element.offsetParent; 112 } 113 return { 'offsetLeft': offsetLeft, 'offsetTop': offsetTop, 'clientLeft': clientLeft, 'clientTop': clientTop, 'scrollLeft': scrollLeft, 'scrollTop': scrollTop }; 114 } 115 48 116 function dispatchEvent(clientX, clientY, expectedElementID, expectedOffsetX, expectedOffsetY) 49 117 { … … 65 133 event.offsetX == event.expectedOffsetX && 66 134 event.offsetY == event.expectedOffsetY) 67 result = 'PASS: event at (' + event.clientX + ', ' + event.clientY + ')hit ' + element.id + ' at offset (' + event.offsetX + ', ' + event.offsetY + ')';135 result = 'PASS: event hit ' + element.id + ' at offset (' + event.offsetX + ', ' + event.offsetY + ')'; 68 136 else 69 137 result = 'FAIL: event at (' + event.clientX + ', ' + event.clientY + ') expected to hit ' + event.expectedElement + ' at (' + event.expectedOffsetX + ', ' + event.expectedOffsetY + ') but hit ' + element.id + ' at (' + event.offsetX + ', ' + event.offsetY + ')';
Note: See TracChangeset
for help on using the changeset viewer.