tor-browser

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

bug977003_inner_4.html (3981B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=977003
      5 -->
      6 <head>
      7  <meta charset="utf-8">
      8  <title>Test for Bug 977003</title>
      9  <meta name="author" content="Maksim Lebedev" />
     10  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     11  <script src="/tests/SimpleTest/EventUtils.js"></script>
     12  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
     13  <style>
     14    #target, #mediator, #listener { background: yellow; }
     15  </style>
     16  <script type="application/javascript">
     17    var target = undefined;
     18    var mediator = undefined;
     19    var listener = undefined;
     20    var test_down_got = false;
     21    var test_mediator_got = false;
     22    var test_mediator_lost = false;
     23    var test_listener_got = false;
     24    var test_listener_lost = false;
     25 
     26    function TargetDownHandler(event) {
     27      logger("Target receive event: " + event.type);
     28      logger("Send pointerCapture to Mediator");
     29      mediator.setPointerCapture(event.pointerId);
     30      logger("setPointerCapture was executed");
     31      test_down_got = true;
     32    }
     33    function MediatorGotPCHandler(event) {
     34      logger("Mediator receive event: " + event.type);
     35      logger("Try send setPointerCapture on listener");
     36      listener.setPointerCapture(event.pointerId);
     37      logger("Try send releasePointerCapture from Mediator");
     38      mediator.releasePointerCapture(event.pointerId);
     39      test_mediator_got = true;
     40    }
     41    function MediatorLostPCHandler(event) {
     42      logger("Mediator receive event: " + event.type);
     43      test_mediator_lost = true;
     44    }
     45    function ListenerGotHandler(event) {
     46      test_listener_got = true;
     47    }
     48    function ListenerLostHandler(event) {
     49      test_listener_lost = true;
     50    }
     51    function logger(message) {
     52      console.log(message);
     53      var log = document.getElementById('log');
     54      log.innerHTML = message + "<br>" + log.innerHTML;
     55    }
     56 
     57    function prepareTest() {
     58      SimpleTest.executeSoon(executeTest);
     59    }
     60    function executeTest()
     61    {
     62      logger("executeTest");
     63      target = document.getElementById("target");
     64      mediator = document.getElementById("mediator");
     65      listener = document.getElementById("listener");
     66      target.addEventListener("pointerdown",          TargetDownHandler);
     67      mediator.addEventListener("gotpointercapture",  MediatorGotPCHandler);
     68      mediator.addEventListener("lostpointercapture", MediatorLostPCHandler);
     69      listener.addEventListener("gotpointercapture",  ListenerGotHandler);
     70      listener.addEventListener("lostpointercapture", ListenerLostHandler);
     71      var rect = target.getBoundingClientRect();
     72      synthesizeMouse(target, rect.width/2, rect.height/2, {type: "mousedown"});
     73      synthesizeMouse(target, rect.width/3, rect.height/3, {type: "mousemove"});
     74      synthesizeMouse(target, rect.width/4, rect.height/4, {type: "mousemove"});
     75      synthesizeMouse(target, rect.width/4, rect.height/4, {type: "mouseup"});
     76      finishTest();
     77    }
     78    function finishTest() {
     79      parent.is(test_down_got,      true,  "Part 4: pointerdown event should be received");
     80      parent.is(test_mediator_got,  true,  "Part 4: gotpointercapture event should be received by Mediator");
     81      parent.is(test_mediator_lost, true,  "Part 4: lostpointercapture event should be received by Mediator");
     82      parent.is(test_listener_got,  true,  "Part 4: gotpointercapture event should be received by listener");
     83      parent.is(test_listener_lost, true,  "Part 4: lostpointercapture event should be received by listener");
     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 4</a>
     91  <p id="display"></p>
     92  <div id="content" style="display: none">
     93  </div>
     94  <div id="listener">div id=listener</div>
     95  <div id="mediator">div id=mediator</div>
     96  <div id="target">div id=target</div>
     97  <pre id="log">
     98  </pre>
     99 </body>
    100 </html>