forked from mirrors/gecko-dev
MozReview-Commit-ID: 53Mu4zb9X1C --HG-- rename : browser/components/sessionstore/nsSessionStartup.js => browser/components/sessionstore/SessionStartup.jsm extra : rebase_source : 5b4f5c2e45841a5ee9123386e8657d8c262ba416
35 lines
1.3 KiB
JavaScript
35 lines
1.3 KiB
JavaScript
ChromeUtils.import("resource://gre/modules/Services.jsm");
|
|
const {OS} = ChromeUtils.import("resource://gre/modules/osfile.jsm", {});
|
|
ChromeUtils.defineModuleGetter(this, "SessionStartup",
|
|
"resource:///modules/sessionstore/SessionStartup.jsm");
|
|
|
|
// 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.
|
|
ChromeUtils.import("resource://gre/modules/CrashMonitor.jsm");
|
|
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 OS.File.read(source);
|
|
await OS.File.writeAtomic(destination, s, {compression: "lz4"});
|
|
await OS.File.remove(source);
|
|
}
|