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 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
3 /*
4 * Any copyright is dedicated to the Public Domain.
5 * http://creativecommons.org/licenses/publicdomain/
6 */
8 /*
9 * 'with' statements are forbidden in strict top-level code. This is
10 * eval code, but that's close enough.
11 */
12 assertEq(testLenientAndStrict('with (1) {}',
13 completesNormally,
14 raisesException(SyntaxError)),
15 true);
17 /* 'with' statements are forbidden in strict function code. */
18 assertEq(testLenientAndStrict('function f() { "use strict"; with (1) {} }',
19 parseRaisesException(SyntaxError),
20 parseRaisesException(SyntaxError)),
21 true);
23 /*
24 * A use strict directive in a function mustn't affect the strictness
25 * of subsequent code.
26 */
27 assertEq(parsesSuccessfully('function f() { "use strict"; }; with (1) {}'),
28 true);
30 reportCompare(true, true);