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.
michael@0 | 1 | function raisesException(exception) { |
michael@0 | 2 | return function (code) { |
michael@0 | 3 | eval(code); |
michael@0 | 4 | }; |
michael@0 | 5 | }; |
michael@0 | 6 | function obj() { |
michael@0 | 7 | var o = { assertEq: true, y: 1 }; |
michael@0 | 8 | Object.defineProperty(o, 'x', { writable: false }); |
michael@0 | 9 | return o; |
michael@0 | 10 | } |
michael@0 | 11 | function in_strict_with(expr) { |
michael@0 | 12 | return "with(obj()) { (function () { 'use strict'; " + expr + " })(); }"; |
michael@0 | 13 | } |
michael@0 | 14 | try { assertEq(raisesException(TypeError)(in_strict_with('x++;')), true); } catch (e) {} |