| <!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> |