| <!DOCTYPE HTML> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="resources/elementsFromPoint.js"></script> | |
| <script> | |
| var loadedFrameCount = 0; | |
| var t1 = async_test('elementsFromPoint on the root document for points in iframe elements'); | |
| var t2 = async_test('elementsFromPoint on inner documents'); | |
| function onFrameLoaded() { | |
| loadedFrameCount++; | |
| if (loadedFrameCount < 2) | |
| return; | |
| var body = document.body; | |
| var html = document.documentElement; | |
| var iframe = document.getElementById('iframe'); | |
| var scrollableIframe = document.getElementById('scrollableIframe'); | |
| t1.step(function() { | |
| checkElementsFromPointFourCorners('document', 'iframe', | |
| [iframe, body, html], | |
| [iframe, body, html], | |
| [iframe, body, html], | |
| [scrollableIframe, iframe, body, html]); | |
| checkElementsFromPointFourCorners('document', 'scrollableIframe', | |
| [scrollableIframe, iframe, body, html], | |
| [scrollableIframe, iframe, body, html], | |
| [scrollableIframe, iframe, body, html], | |
| [scrollableIframe, iframe, body, html]); | |
| }); | |
| t1.done(); | |
| t2.step(function() { | |
| var iframeDocument = document.getElementById('iframe').contentDocument; | |
| var iframeRoot = iframeDocument.documentElement; | |
| var iframeBody = iframeDocument.body; | |
| var iframeDiv = iframeDocument.getElementById('div'); | |
| checkElementsFromPointFourCorners('document.getElementById(\'iframe\').contentDocument', 'div', | |
| [iframeDiv, iframeBody, iframeRoot], | |
| [iframeDiv, iframeBody, iframeRoot], | |
| [iframeDiv, iframeBody, iframeRoot], | |
| [iframeDiv, iframeBody, iframeRoot]); | |
| var iframeDocument2 = document.getElementById('scrollableIframe').contentDocument; | |
| var iframeRoot2 = iframeDocument2.documentElement; | |
| var iframeBody2 = iframeDocument2.body; | |
| var iframeSmallDiv = iframeDocument2.getElementById('small'); | |
| var iframeBigDiv = iframeDocument2.getElementById('big'); | |
| checkElementsFromPointFourCorners('document.getElementById(\'scrollableIframe\').contentDocument', 'big', | |
| [iframeSmallDiv, iframeBigDiv, iframeBody2, iframeRoot2], | |
| [iframeBigDiv, iframeBody2, iframeRoot2], | |
| [], | |
| []); | |
| }); | |
| t2.done(); | |
| } | |
| </script> | |
| <style> | |
| html, body { | |
| margin: 0; | |
| padding: 0; | |
| } | |
| body { | |
| height: 500px; | |
| } | |
| #iframe { | |
| width: 200px; | |
| height: 200px; | |
| } | |
| #scrollableIframe { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| transform: translate(50px, 50px); | |
| width: 150px; | |
| height: 150px; | |
| overflow-y: scroll; | |
| overflow-x: scroll; | |
| } | |
| </style> | |
| <iframe id="iframe" src="resources/iframe1.html"></iframe> | |
| <iframe id="scrollableIframe" src="resources/iframe2.html"></iframe> |