tor-browser

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

helper_hittest_bug1715369.html (1980B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <head>
      4  <meta charset="utf-8">
      5  <meta name="viewport" content="width=2100"/>
      6  <title>Check hittesting fission oop iframe with transform works bug 1715369</title>
      7  <script src="apz_test_native_event_utils.js"></script>
      8  <script src="apz_test_utils.js"></script>
      9  <script src="/tests/SimpleTest/paint_listener.js"></script>
     10  <script>
     11 
     12 async function makeActive(x, y, targetId) {
     13  let theTarget = document.getElementById(targetId);
     14  await promiseNativeMouseEventWithAPZAndWaitForEvent({
     15    type: "click",
     16    target: theTarget,
     17    offsetX: x,
     18    offsetY: y,
     19  });
     20 
     21  await promiseApzFlushedRepaints();
     22 
     23  ok(isLayerized(targetId), "target should be layerized at this point");
     24  let utils = SpecialPowers.getDOMWindowUtils(window);
     25  let targetScrollId = utils.getViewId(theTarget);
     26  ok(targetScrollId > 0, "target should have a scroll id");
     27 }
     28 
     29 async function test() {
     30  await makeActive(20, 20, "scrollable");
     31 
     32  let clickPromise = new Promise(resolve => {
     33    window.addEventListener("message", event => {
     34      if (event.data == "gotclick") {
     35        ok(true, "got click");
     36        resolve();
     37      }
     38    })
     39  });
     40 
     41 
     42  let thetarget = document.getElementById("theiframe");
     43  await synthesizeNativeMouseEventWithAPZ({ type: "click", target: thetarget, offsetX: 25, offsetY: 25 });
     44  info("sent click");
     45 
     46  await clickPromise;
     47 
     48  ok(true, "must have got click");
     49 
     50 }
     51 
     52 waitUntilApzStable()
     53 .then(test)
     54 .then(subtestDone, subtestFailed);
     55 
     56  </script>
     57 <style>
     58 </style>
     59 </head>
     60 <body>
     61 
     62 <!--transform
     63 asr change
     64 in process iframe/stackingcontext
     65 oopif-->
     66 <div style="height: 100px; width: 100px; transform: scale(3); transform-origin: top left;">
     67  <div id="scrollable" style="overflow: scroll; height: 200px;">
     68    <div id="topspacer" style="height: 50px;"></div>
     69    <iframe id="theiframe" style="border: 1px;" frameborder="1" src="helper_hittest_bug1715369_iframe.html"></iframe>
     70    <div style="height: 200vh;"></div>
     71  </div>
     72 </div>
     73 </body>
     74 </html>