Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
1 /* Any copyright is dedicated to the Public Domain.
2 * http://creativecommons.org/publicdomain/zero/1.0/ */
4 "use strict";
6 const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
8 function whenBrowserLoaded(browser, callback) {
9 browser.addEventListener("load", function onLoad(event) {
10 if (event.target == browser.contentDocument) {
11 browser.removeEventListener("load", onLoad, true);
12 executeSoon(callback);
13 }
14 }, true);
15 }
17 function waitForOnBeforeUnloadDialog(browser, callback) {
18 browser.addEventListener("DOMWillOpenModalDialog", function onModalDialog() {
19 browser.removeEventListener("DOMWillOpenModalDialog", onModalDialog, true);
21 executeSoon(() => {
22 let stack = browser.parentNode;
23 let dialogs = stack.getElementsByTagNameNS(XUL_NS, "tabmodalprompt");
24 let {button0, button1} = dialogs[0].ui;
25 callback(button0, button1);
26 });
27 }, true);
28 }