browser/components/sessionstore/test/unit/head.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:07af5dbc3da3
1 let Cu = Components.utils;
2 let Cc = Components.classes;
3 let Ci = Components.interfaces;
4
5 Components.utils.import("resource://gre/modules/Services.jsm");
6
7 // Call a function once initialization of SessionStartup is complete
8 let afterSessionStartupInitialization =
9 function afterSessionStartupInitialization(cb) {
10 do_print("Waiting for session startup initialization");
11 let observer = function() {
12 try {
13 do_print("Session startup initialization observed");
14 Services.obs.removeObserver(observer, "sessionstore-state-finalized");
15 cb();
16 } catch (ex) {
17 do_throw(ex);
18 }
19 };
20
21 // We need the Crash Monitor initialized for sessionstartup to run
22 // successfully.
23 Components.utils.import("resource://gre/modules/CrashMonitor.jsm");
24 CrashMonitor.init();
25
26 // Start sessionstartup initialization.
27 let startup = Cc["@mozilla.org/browser/sessionstartup;1"].
28 getService(Ci.nsIObserver);
29 Services.obs.addObserver(startup, "final-ui-startup", false);
30 Services.obs.addObserver(startup, "quit-application", false);
31 Services.obs.notifyObservers(null, "final-ui-startup", "");
32 Services.obs.addObserver(observer, "sessionstore-state-finalized", false);
33 };

mercurial