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 | // |jit-test| error: ReferenceError |
michael@0 | 2 | o0 = TypeError.prototype.__proto__ |
michael@0 | 3 | o1 = Proxy.create({}) |
michael@0 | 4 | o13 = {}.__proto__ |
michael@0 | 5 | var o15 = Object.prototype |
michael@0 | 6 | o31 = (new Uint32Array(100)).buffer |
michael@0 | 7 | function f2(o) { |
michael@0 | 8 | try { |
michael@0 | 9 | ({ |
michael@0 | 10 | x: [eval("o")][0] |
michael@0 | 11 | }.x.__defineGetter__("toString", function() { |
michael@0 | 12 | return o26; |
michael@0 | 13 | })); |
michael@0 | 14 | } catch (e) {} |
michael@0 | 15 | } |
michael@0 | 16 | function f3(o) { |
michael@0 | 17 | try { |
michael@0 | 18 | +o31 |
michael@0 | 19 | } catch (e) {} |
michael@0 | 20 | } |
michael@0 | 21 | function f19(o) { |
michael@0 | 22 | for (var x in eval("o")) { |
michael@0 | 23 | eval("o")[x]; |
michael@0 | 24 | } |
michael@0 | 25 | } |
michael@0 | 26 | f2(o15) |
michael@0 | 27 | f3(o0) |
michael@0 | 28 | f19(o13) |
michael@0 | 29 |