mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
var Cu = Components.utils;
|
|
var Cc = Components.classes;
|
|
var Ci = Components.interfaces;
|
|
|
|
Components.utils.import("resource://gre/modules/Services.jsm");
|
|
|
|
// Call a function once initialization of SessionStartup is complete
|
|
function afterSessionStartupInitialization(cb) {
|
|
do_print("Waiting for session startup initialization");
|
|
let observer = function() {
|
|
try {
|
|
do_print("Session startup initialization observed");
|
|
Services.obs.removeObserver(observer, "sessionstore-state-finalized");
|
|
cb();
|
|
} catch (ex) {
|
|
do_throw(ex);
|
|
}
|
|
};
|
|
|
|
// We need the Crash Monitor initialized for sessionstartup to run
|
|
// successfully.
|
|
Components.utils.import("resource://gre/modules/CrashMonitor.jsm");
|
|
CrashMonitor.init();
|
|
|
|
// Start sessionstartup initialization.
|
|
let startup = Cc["@mozilla.org/browser/sessionstartup;1"].
|
|
getService(Ci.nsIObserver);
|
|
Services.obs.addObserver(startup, "final-ui-startup", false);
|
|
Services.obs.addObserver(startup, "quit-application", false);
|
|
Services.obs.notifyObservers(null, "final-ui-startup", "");
|
|
Services.obs.addObserver(observer, "sessionstore-state-finalized", false);
|
|
};
|