elementsFromPoint-table.html (3473B)
1 <!DOCTYPE HTML> 2 <script src="/resources/testharness.js"></script> 3 <script src="/resources/testharnessreport.js"></script> 4 <script src="resources/elementsFromPoint.js"></script> 5 <style> 6 html, body { 7 margin: 0; 8 padding: 0; 9 } 10 #testtable { 11 margin: 100px; 12 width: 200px; 13 height: 200px; 14 background-color: rgba(0,180,0,0.2); 15 } 16 #testtable tr { 17 background-color: rgba(180,0,0,0.2); 18 } 19 #testtable td { 20 background-color: rgba(0,0,180,0.2); 21 } 22 .rtl { 23 direction: rtl; 24 } 25 .tblr { 26 writing-mode: vertical-lr; 27 } 28 </style> 29 <div id='sandbox'> 30 <table id='testtable'> 31 <tr id='tr1'> 32 <td id='td11'></td> 33 <td id='td12'></td> 34 <td id='td13'></td> 35 <td id='td14'></td> 36 </tr> 37 <tr id='tr2'> 38 <td id='td21'></td> 39 <td id='td22'></td> 40 <td id='td23'></td> 41 <td id='td24'></td> 42 </tr> 43 <tr id='tr3'> 44 <td id='td31'></td> 45 <td id='td32'></td> 46 <td id='td33'></td> 47 <td id='td34'></td> 48 </tr> 49 <tr id='tr4'> 50 <td id='td41'></td> 51 <td id='td42'></td> 52 <td id='td43'></td> 53 <td id='td44'></td> 54 </tr> 55 </table> 56 </div> 57 <script> 58 test(function() { 59 assertElementsFromPoint('document', 125, 125, 60 [td11, testtable, sandbox, document.body, document.documentElement]); 61 assertElementsFromPoint('document', 275, 125, 62 [td14, testtable, sandbox, document.body, document.documentElement]); 63 assertElementsFromPoint('document', 175, 175, 64 [td22, testtable, sandbox, document.body, document.documentElement]); 65 assertElementsFromPoint('document', 125, 275, 66 [td41, testtable, sandbox, document.body, document.documentElement]); 67 }, 'elementsFromPoint for points inside table cells'); 68 69 test(function() { 70 assertElementsFromPoint('document', 100, 100, 71 [testtable, sandbox, document.body, document.documentElement]); 72 assertElementsFromPoint('document', 199, 199, 73 [testtable, sandbox, document.body, document.documentElement]); 74 }, 'elementsFromPoint for points between table cells'); 75 76 testtable.setAttribute('class', 'rtl'); 77 test(function() { 78 assertElementsFromPoint('document', 125, 125, 79 [td14, testtable, sandbox, document.body, document.documentElement]); 80 assertElementsFromPoint('document', 275, 125, 81 [td11, testtable, sandbox, document.body, document.documentElement]); 82 assertElementsFromPoint('document', 100, 100, 83 [testtable, sandbox, document.body, document.documentElement]); 84 assertElementsFromPoint('document', 199, 199, 85 [testtable, sandbox, document.body, document.documentElement]); 86 }, 'elementsFromPoint for points inside cells in a right-to-left table'); 87 88 testtable.setAttribute('class', 'tblr'); 89 test(function() { 90 assertElementsFromPoint('document', 125, 275, 91 [td14, testtable, sandbox, document.body, document.documentElement]); 92 assertElementsFromPoint('document', 275, 125, 93 [td41, testtable, sandbox, document.body, document.documentElement]); 94 assertElementsFromPoint('document', 100, 100, 95 [testtable, sandbox, document.body, document.documentElement]); 96 assertElementsFromPoint('document', 199, 199, 97 [testtable, sandbox, document.body, document.documentElement]); 98 }, 'elementsFromPoint for points inside cells in a flipped (writing-mode:vertical-lr) table'); 99 </script>