tor-browser

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

focus-utils.js (856B)


      1 'use strict';
      2 
      3 function waitForRender() {
      4  return new Promise(resolve => requestAnimationFrame(() => requestAnimationFrame(resolve)));
      5 }
      6 
      7 async function pressKey(keyCode) {
      8  await waitForRender();
      9  await new test_driver.Actions()
     10    .keyDown(keyCode)
     11    .keyUp(keyCode)
     12    .send();
     13  await waitForRender();
     14 }
     15 
     16 async function arrowUp() {
     17  const kArrowUp = '\uE013';
     18  await pressKey(kArrowUp);
     19 }
     20 
     21 async function arrowDown() {
     22  const kArrowDown = '\uE015';
     23  await pressKey(kArrowDown);
     24 }
     25 
     26 async function navigateFocusForward() {
     27  const kTab = '\uE004';
     28  await pressKey(kTab);
     29 }
     30 
     31 async function navigateFocusBackward() {
     32  await waitForRender();
     33  const kShift = '\uE008';
     34  const kTab = '\uE004';
     35  await new test_driver.Actions()
     36    .keyDown(kShift)
     37    .keyDown(kTab)
     38    .keyUp(kTab)
     39    .keyUp(kShift)
     40    .send();
     41  await waitForRender();
     42 }