tor-browser

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

head.js (1273B)


      1 ChromeUtils.defineESModuleGetters(this, {
      2  SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
      3  SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
      4 });
      5 
      6 // Call a function once initialization of SessionStartup is complete
      7 function afterSessionStartupInitialization(cb) {
      8  info("Waiting for session startup initialization");
      9  let observer = function () {
     10    try {
     11      info("Session startup initialization observed");
     12      Services.obs.removeObserver(observer, "sessionstore-state-finalized");
     13      cb();
     14    } catch (ex) {
     15      do_throw(ex);
     16    }
     17  };
     18  Services.obs.addObserver(observer, "sessionstore-state-finalized");
     19 
     20  // We need the Crash Monitor initialized for sessionstartup to run
     21  // successfully.
     22  const { CrashMonitor } = ChromeUtils.importESModule(
     23    "resource://gre/modules/CrashMonitor.sys.mjs"
     24  );
     25  CrashMonitor.init();
     26 
     27  // Start sessionstartup initialization.
     28  SessionStartup.init();
     29 }
     30 
     31 // Compress the source file using lz4 and put the result to destination file.
     32 // After that, source file is deleted.
     33 async function writeCompressedFile(source, destination) {
     34  let s = await IOUtils.read(source);
     35  await IOUtils.write(destination, s, { compress: true });
     36  await IOUtils.remove(source);
     37 }