var gNotifications = 0;

var observer = {
  QueryInterface: ChromeUtils.generateQI([
    "nsIPrivacyTransitionObserver",
    "nsISupportsWeakReference",
  ]),

  privateModeChanged() {
    gNotifications++;
  },
};

function run_test() {
  let windowlessBrowser = Services.appShell.createWindowlessBrowser(true);
  windowlessBrowser.docShell.addWeakPrivacyTransitionObserver(observer);
  windowlessBrowser.docShell.setOriginAttributes({ privateBrowsingId: 1 });
  windowlessBrowser.docShell.setOriginAttributes({ privateBrowsingId: 0 });
  windowlessBrowser.close();
  Assert.equal(gNotifications, 2);
}
