tor-browser

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

bug977003_inner_1.html (4081B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=977003
      5 https://bugzilla.mozilla.org/show_bug.cgi?id=1094913
      6 https://bugzilla.mozilla.org/show_bug.cgi?id=1098139
      7 -->
      8 <head>
      9  <meta charset="utf-8">
     10  <title>Test for Bugs 977003, 1094913, 1098139</title>
     11  <meta name="author" content="Maksim Lebedev" />
     12  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     13  <script src="/tests/SimpleTest/EventUtils.js"></script>
     14  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     15  <style>
     16    #target{ background: yellow; }
     17  </style>
     18  <script type="application/javascript">
     19    var target = undefined;
     20    var test_send_got = 0;
     21    var test_got_async = 0;
     22    var test_got_type = "";
     23    var test_got_primary = false;
     24    var test_send_lost = 0;
     25    var test_lost_async = 0;
     26    var test_lost_type = "";
     27    var test_lost_primary = false;
     28 
     29    function DownHandler(event) {
     30      logger("Receive event: " + event.type);
     31      logger("Send setPointerCapture to target");
     32      target.setPointerCapture(event.pointerId);
     33      logger("setPointerCapture was executed");
     34      test_send_got++;
     35    }
     36    function GotPCHandler(event) {
     37      logger("Receive event: " + event.type + "(" + event.pointerType + ")");
     38      if(test_send_got)
     39        test_got_async++;
     40      test_got_type = event.pointerType;
     41      test_got_primary = event.isPrimary;
     42      logger("Send releasePointerCapture from target");
     43      target.releasePointerCapture(event.pointerId);
     44      logger("releasePointerCapture was executed");
     45      test_send_lost++;
     46    }
     47    function LostPCHandler(event) {
     48      logger("Received event: " + event.type + "(" + event.pointerType + ")");
     49      if(test_send_lost)
     50        test_lost_async++;
     51      test_lost_type = event.pointerType;
     52      test_lost_primary = event.isPrimary;
     53    }
     54    function logger(message) {
     55      console.log(message);
     56      var log = document.getElementById('log');
     57      log.innerHTML = message + "<br>" + log.innerHTML;
     58    }
     59 
     60    function prepareTest() {
     61      SimpleTest.executeSoon(executeTest);
     62    }
     63    function executeTest()
     64    {
     65      logger("executeTest");
     66      target = document.getElementById("target");
     67      target.addEventListener("pointerdown",        DownHandler);
     68      target.addEventListener("gotpointercapture",  GotPCHandler);
     69      target.addEventListener("lostpointercapture", LostPCHandler);
     70      var rect = target.getBoundingClientRect();
     71      synthesizeMouse(target, rect.width/2, rect.height/2, {type: "mousedown"});
     72      synthesizeMouse(target, rect.width/2, rect.height/2, {type: "mouseup"});
     73      finishTest();
     74    }
     75    function finishTest() {
     76      parent.is(test_send_got,        1, "Part 1: gotpointercapture event should be sent once");
     77      parent.is(test_got_async,       1, "Part 1: gotpointercapture event should be asynchronous");
     78      parent.is(test_got_type,  "mouse", "Part 1: gotpointercapture event should have pointerType mouse");
     79      parent.is(test_got_primary,  true, "Part 1: gotpointercapture event should have isPrimary as true");
     80      parent.is(test_send_lost,       1, "Part 1: lostpointercapture event should be sent once");
     81      parent.is(test_lost_async,      1, "Part 1: lostpointercapture event should be asynchronous");
     82      parent.is(test_lost_type, "mouse", "Part 1: lostpointercapture event should have pointerType mouse");
     83      parent.is(test_lost_primary, true, "Part 1: lostpointercapture event should have isPrimary as true");
     84      logger("finishTest");
     85      parent.finishTest();
     86    }
     87  </script>
     88 </head>
     89 <body onload="prepareTest()">
     90  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=977003">Mozilla Bug 977003 Test 1</a>
     91  <br><a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1094913">Mozilla Bug 1094913</a>
     92  <br><a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1098139">Mozilla Bug 1098139</a>
     93  <p id="display"></p>
     94  <div id="content" style="display: none">
     95  </div>
     96  <div id="target">div id=target</div>
     97  <pre id="log">
     98  </pre>
     99 </body>
    100 </html>