var gNotifications = 0; var observer = { QueryInterface: ChromeUtils.generateQI(["nsIPrivacyTransitionObserver", "nsISupportsWeakReference"]), privateModeChanged(enabled) { gNotifications++; }, }; function run_test() { let windowlessBrowser = Services.appShell.createWindowlessBrowser(false); windowlessBrowser.docShell.addWeakPrivacyTransitionObserver(observer); windowlessBrowser.docShell.setOriginAttributes({privateBrowsingId: 1}); windowlessBrowser.docShell.setOriginAttributes({privateBrowsingId: 0}); windowlessBrowser.close(); Assert.equal(gNotifications, 2); }