elementsFromPoint-iframes.html (2887B)
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 <script> 6 var loadedFrameCount = 0; 7 var t1 = async_test('elementsFromPoint on the root document for points in iframe elements'); 8 var t2 = async_test('elementsFromPoint on inner documents'); 9 10 function onFrameLoaded() { 11 loadedFrameCount++; 12 if (loadedFrameCount < 2) 13 return; 14 15 var body = document.body; 16 var html = document.documentElement; 17 var iframe = document.getElementById('iframe'); 18 var scrollableIframe = document.getElementById('scrollableIframe'); 19 t1.step(function() { 20 checkElementsFromPointFourCorners('document', 'iframe', 21 [iframe, body, html], 22 [iframe, body, html], 23 [iframe, body, html], 24 [scrollableIframe, iframe, body, html]); 25 26 checkElementsFromPointFourCorners('document', 'scrollableIframe', 27 [scrollableIframe, iframe, body, html], 28 [scrollableIframe, iframe, body, html], 29 [scrollableIframe, iframe, body, html], 30 [scrollableIframe, iframe, body, html]); 31 }); 32 t1.done(); 33 34 t2.step(function() { 35 var iframeDocument = document.getElementById('iframe').contentDocument; 36 var iframeRoot = iframeDocument.documentElement; 37 var iframeBody = iframeDocument.body; 38 var iframeDiv = iframeDocument.getElementById('div'); 39 checkElementsFromPointFourCorners('document.getElementById(\'iframe\').contentDocument', 'div', 40 [iframeDiv, iframeBody, iframeRoot], 41 [iframeDiv, iframeBody, iframeRoot], 42 [iframeDiv, iframeBody, iframeRoot], 43 [iframeDiv, iframeBody, iframeRoot]); 44 45 var iframeDocument2 = document.getElementById('scrollableIframe').contentDocument; 46 var iframeRoot2 = iframeDocument2.documentElement; 47 var iframeBody2 = iframeDocument2.body; 48 var iframeSmallDiv = iframeDocument2.getElementById('small'); 49 var iframeBigDiv = iframeDocument2.getElementById('big'); 50 checkElementsFromPointFourCorners('document.getElementById(\'scrollableIframe\').contentDocument', 'big', 51 [iframeSmallDiv, iframeBigDiv, iframeBody2, iframeRoot2], 52 [iframeBigDiv, iframeBody2, iframeRoot2], 53 [], 54 []); 55 }); 56 t2.done(); 57 } 58 </script> 59 <style> 60 html, body { 61 margin: 0; 62 padding: 0; 63 } 64 body { 65 height: 500px; 66 } 67 #iframe { 68 width: 200px; 69 height: 200px; 70 } 71 #scrollableIframe { 72 position: absolute; 73 top: 0; 74 left: 0; 75 transform: translate(50px, 50px); 76 width: 150px; 77 height: 150px; 78 overflow-y: scroll; 79 overflow-x: scroll; 80 } 81 </style> 82 <iframe id="iframe" src="resources/iframe1.html"></iframe> 83 <iframe id="scrollableIframe" src="resources/iframe2.html"></iframe>