tor-browser

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

mouse_buttons_back_forward.html (2823B)


      1 <!DOCTYPE html>
      2 <html>
      3    <head>
      4        <meta charset="utf-8" />
      5        <title>Mouse Button Back/Forward</title>
      6        <link rel="author" title="Google" href="http://www.google.com/" />
      7        <script src="/resources/testharness.js"></script>
      8        <script src="/resources/testharnessreport.js"></script>
      9        <script src="/resources/testdriver.js"></script>
     10        <script src="/resources/testdriver-actions.js"></script>
     11        <script src="/resources/testdriver-vendor.js"></script>
     12        <script>
     13            var testMouseUp = async_test('Tests that when pointer is locked, the mouseup is preventable.');
     14            var received_back = false;
     15            var received_forward = false;
     16            const left_button = 0;
     17            const back_button = 3;
     18            const forward_button = 4;
     19            window.addEventListener('mouseup', function(e) {
     20              if (e.button == left_button) {
     21                document.body.requestPointerLock();
     22              } else if (e.button == back_button) {
     23                received_back = true;
     24                e.preventDefault();
     25              } else if (e.button == forward_button) {
     26                received_forward = true;
     27                e.preventDefault();
     28              }
     29              if (document.pointerLockElement && received_back && received_forward) {
     30                testMouseUp.done();
     31                document.exitPointerLock();
     32              }
     33            });
     34 
     35            document.addEventListener("pointerlockchange", function() {
     36              assert_equals(document.pointerLockElement, document.body);
     37 
     38              // Inject mouse input
     39              var actions = new test_driver.Actions();
     40              actions.pointerMove(1, 1)
     41                .pointerDown({button: actions.ButtonType.BACK})
     42                .pointerUp({button: actions.ButtonType.BACK})
     43                .pointerDown({button: actions.ButtonType.FORWARD})
     44                .pointerUp({button: actions.ButtonType.FORWARD})
     45                .send();
     46            }, { once: true });
     47 
     48            document.addEventListener("pointerlockerror", function() {
     49              assert_unreached("Pointer lock error");
     50            });
     51 
     52            // Inject mouse input
     53            var actions = new test_driver.Actions();
     54            actions.pointerMove(1, 1)
     55              .pointerDown({button: actions.ButtonType.LEFT})
     56              .pointerUp({button: actions.ButtonType.LEFT})
     57              .send();
     58        </script>
     59 
     60    </head>
     61    <body id="target">
     62        <h4>Test Description: Tests that the mouseup event is prevented.
     63            <ol>
     64                <li>Click the left mouse button to lock pointer</li>
     65                <li>Click the back mouse button</li>
     66                <li>Click the forward mouse button</li>
     67            </ol>
     68        </h4>
     69    </body>
     70 </html>