| <!DOCTYPE HTML> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="resources/elementsFromPoint.js"></script> | |
| <style> | |
| html, body { | |
| margin: 0; | |
| padding: 0; | |
| } | |
| #testtable { | |
| margin: 100px; | |
| width: 200px; | |
| height: 200px; | |
| background-color: rgba(0,180,0,0.2); | |
| } | |
| #testtable tr { | |
| background-color: rgba(180,0,0,0.2); | |
| } | |
| #testtable td { | |
| background-color: rgba(0,0,180,0.2); | |
| } | |
| .rtl { | |
| direction: rtl; | |
| } | |
| .tblr { | |
| writing-mode: vertical-lr; | |
| } | |
| </style> | |
| <div id='sandbox'> | |
| <table id='testtable'> | |
| <tr id='tr1'> | |
| <td id='td11'></td> | |
| <td id='td12'></td> | |
| <td id='td13'></td> | |
| <td id='td14'></td> | |
| </tr> | |
| <tr id='tr2'> | |
| <td id='td21'></td> | |
| <td id='td22'></td> | |
| <td id='td23'></td> | |
| <td id='td24'></td> | |
| </tr> | |
| <tr id='tr3'> | |
| <td id='td31'></td> | |
| <td id='td32'></td> | |
| <td id='td33'></td> | |
| <td id='td34'></td> | |
| </tr> | |
| <tr id='tr4'> | |
| <td id='td41'></td> | |
| <td id='td42'></td> | |
| <td id='td43'></td> | |
| <td id='td44'></td> | |
| </tr> | |
| </table> | |
| </div> | |
| <script> | |
| test(function() { | |
| assertElementsFromPoint('document', 125, 125, | |
| [td11, testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 275, 125, | |
| [td14, testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 175, 175, | |
| [td22, testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 125, 275, | |
| [td41, testtable, sandbox, document.body, document.documentElement]); | |
| }, 'elementsFromPoint for points inside table cells'); | |
| test(function() { | |
| assertElementsFromPoint('document', 100, 100, | |
| [testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 199, 199, | |
| [testtable, sandbox, document.body, document.documentElement]); | |
| }, 'elementsFromPoint for points between table cells'); | |
| testtable.setAttribute('class', 'rtl'); | |
| test(function() { | |
| assertElementsFromPoint('document', 125, 125, | |
| [td14, testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 275, 125, | |
| [td11, testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 100, 100, | |
| [testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 199, 199, | |
| [testtable, sandbox, document.body, document.documentElement]); | |
| }, 'elementsFromPoint for points inside cells in a right-to-left table'); | |
| testtable.setAttribute('class', 'tblr'); | |
| test(function() { | |
| assertElementsFromPoint('document', 125, 275, | |
| [td14, testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 275, 125, | |
| [td41, testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 100, 100, | |
| [testtable, sandbox, document.body, document.documentElement]); | |
| assertElementsFromPoint('document', 199, 199, | |
| [testtable, sandbox, document.body, document.documentElement]); | |
| }, 'elementsFromPoint for points inside cells in a flipped (writing-mode:vertical-lr) table'); | |
| </script> |