tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>