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 this.__proto__ = null;
3 function testLenientAndStrict(code, lenient_pred, strict_pred) {
4 return (strict_pred("'use strict'; " + code) &&
5 lenient_pred(code));
6 }
7 function raisesException(exception) {
8 return function (code) {
9 try {
10 eval(code);
11 } catch (actual) {
12 }
13 };
14 };
15 try {
16 function arr() {
17 return Object.defineProperty(Object()* delete Object, 0, {writable: false});
18 }
19 assertEq(testLenientAndStrict('var a = arr(); [a.splice(0, 1), a]',
20 raisesException(TypeError),
21 raisesException(TypeError)),
22 true);
23 } catch (e) {}
24 ForIn_2(this);
25 function ForIn_2(object) {
26 for ( property in object ) {
27 with ( object ) {
28 }
29 }
30 }