tor-browser

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

navigate-helpers.js (682B)


      1 "use strict";
      2 
      3 // Usage examples:
      4 //   navigateAndWaitForChange(frameWindow, w => w.location.href = "...");
      5 //   navigateAndWaitForChange(frameWindow, w => w.history.back());
      6 //   navigateAndWaitForChange(frameWindow, w => w.history.back(), { assumeSuccessAfter: 100 });
      7 
      8 window.navigateAndWaitForChange = (w, navigationAction, { assumeSuccessAfter } = {}) => {
      9  return new Promise(resolve => {
     10    w.addEventListener("hashchange", listener);
     11 
     12    function listener() {
     13      w.removeEventListener("hashchange", listener);
     14      resolve();
     15    }
     16 
     17    if (assumeSuccessAfter !== undefined) {
     18      step_timeout(resolve, assumeSuccessAfter);
     19    }
     20 
     21    navigationAction(w);
     22  });
     23 };