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 function run_test() {
2 var ioServ = Components.classes["@mozilla.org/network/io-service;1"]
3 .getService(Components.interfaces.nsIIOService);
5 var base = ioServ.newURI("http://www.example.com", null, null);
7 var about1 = ioServ.newURI("about:blank", null, null);
8 var about2 = ioServ.newURI("about:blank", null, base);
10 var chan1 = ioServ.newChannelFromURI(about1)
11 .QueryInterface(Components.interfaces.nsIPropertyBag2);
12 var chan2 = ioServ.newChannelFromURI(about2)
13 .QueryInterface(Components.interfaces.nsIPropertyBag2);
15 var haveProp = false;
16 var propVal = null;
17 try {
18 propVal = chan1.getPropertyAsInterface("baseURI",
19 Components.interfaces.nsIURI);
20 haveProp = true;
21 } catch (e if e.result == Components.results.NS_ERROR_NOT_AVAILABLE) {
22 // Property shouldn't be there.
23 }
24 do_check_eq(propVal, null);
25 do_check_eq(haveProp, false);
26 do_check_eq(chan2.getPropertyAsInterface("baseURI",
27 Components.interfaces.nsIURI),
28 base);
29 }