michael@0: if (typeof Cc === "undefined") michael@0: Cc = Components.classes; michael@0: if (typeof Ci === "undefined") michael@0: Ci = Components.interfaces; michael@0: michael@0: function destroy_transient_docshell() { michael@0: var docshell = Cc["@mozilla.org/docshell;1"].createInstance(Ci.nsIDocShell); michael@0: docshell.QueryInterface(Ci.nsILoadContext).usePrivateBrowsing = true; michael@0: do_test_pending(); michael@0: do_timeout(0, Components.utils.forceGC); michael@0: } michael@0: michael@0: function run_test() { michael@0: var obs = { michael@0: observe: function(aSubject, aTopic, aData) { michael@0: do_check_eq(aTopic, "last-pb-context-exited"); michael@0: do_test_finished(); michael@0: } michael@0: }; michael@0: var os = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService); michael@0: os.addObserver(obs, "last-pb-context-exited", false); michael@0: destroy_transient_docshell(); michael@0: }