summaryrefslogtreecommitdiffstats
path: root/browser/components/sessionstore/test/unit/head.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/sessionstore/test/unit/head.js')
-rw-r--r--browser/components/sessionstore/test/unit/head.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/browser/components/sessionstore/test/unit/head.js b/browser/components/sessionstore/test/unit/head.js
new file mode 100644
index 0000000000..b342a886fb
--- /dev/null
+++ b/browser/components/sessionstore/test/unit/head.js
@@ -0,0 +1,36 @@
+ChromeUtils.defineESModuleGetters(this, {
+ SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
+});
+
+// Call a function once initialization of SessionStartup is complete
+function afterSessionStartupInitialization(cb) {
+ info("Waiting for session startup initialization");
+ let observer = function () {
+ try {
+ info("Session startup initialization observed");
+ Services.obs.removeObserver(observer, "sessionstore-state-finalized");
+ cb();
+ } catch (ex) {
+ do_throw(ex);
+ }
+ };
+ Services.obs.addObserver(observer, "sessionstore-state-finalized");
+
+ // We need the Crash Monitor initialized for sessionstartup to run
+ // successfully.
+ const { CrashMonitor } = ChromeUtils.importESModule(
+ "resource://gre/modules/CrashMonitor.sys.mjs"
+ );
+ CrashMonitor.init();
+
+ // Start sessionstartup initialization.
+ SessionStartup.init();
+}
+
+// Compress the source file using lz4 and put the result to destination file.
+// After that, source file is deleted.
+async function writeCompressedFile(source, destination) {
+ let s = await IOUtils.read(source);
+ await IOUtils.write(destination, s, { compress: true });
+ await IOUtils.remove(source);
+}