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 // Copyright 2009 the Sputnik authors. All rights reserved.
2 // This code is governed by the BSD license found in the LICENSE file.
4 /**
5 * Operator x ? y : z uses GetValue
6 *
7 * @path ch11/11.12/S11.12_A2.1_T1.js
8 * @description Either Type is not Reference or GetBase is not null
9 */
11 //CHECK#1
12 if ((true ? false : true) !== false) {
13 $ERROR('#1: (true ? false : true) === false');
14 }
16 //CHECK#2
17 if ((false ? false : true) !== true) {
18 $ERROR('#2: (false ? false : true) === true');
19 }
21 //CHECK#3
22 var x = new Boolean(true);
23 var y = new Boolean(false);
24 if ((x ? y : true) !== y) {
25 $ERROR('#3: var x = new Boolean(true); var y = new Boolean(false); (x ? y : true) === y');
26 }
28 //CHECK#4
29 var z = new Boolean(true);
30 if ((false ? false : z) !== z) {
31 $ERROR('#4: var z = new Boolean(true); (false ? false : z) === z');
32 }
34 //CHECK#5
35 var x = new Boolean(true);
36 var y = new Boolean(false);
37 var z = new Boolean(true);
38 if ((x ? y : z) !== y) {
39 $ERROR('#5: var x = new Boolean(true); var y = new Boolean(false); var z = new Boolean(true); (x ? y : z) === y');
40 }
42 //CHECK#6
43 var x = false;
44 var y = new Boolean(false);
45 var z = new Boolean(true);
46 if ((x ? y : z) !== z) {
47 $ERROR('#6: var x = false; var y = new Boolean(false); var z = new Boolean(true); (x ? y : z) === z');
48 }