Wed, 31 Dec 2014 06:09:35 +0100
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 | }; |