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

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

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

mercurial