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 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
michael@0 | 2 | /* |
michael@0 | 3 | * Any copyright is dedicated to the Public Domain. |
michael@0 | 4 | * http://creativecommons.org/licenses/publicdomain/ |
michael@0 | 5 | * Contributor: Jesse Ruderman |
michael@0 | 6 | */ |
michael@0 | 7 | |
michael@0 | 8 | //----------------------------------------------------------------------------- |
michael@0 | 9 | var BUGNUMBER = 521456; |
michael@0 | 10 | var summary = |
michael@0 | 11 | 'Incorrect decompilation of new (eval(v)).s and new (f.apply(2)).s'; |
michael@0 | 12 | printBugNumber(BUGNUMBER); |
michael@0 | 13 | printStatus(summary); |
michael@0 | 14 | |
michael@0 | 15 | function foo(c) { return new (eval(c)).s; } |
michael@0 | 16 | function bar(f) { var a = new (f.apply(2).s); return a; } |
michael@0 | 17 | |
michael@0 | 18 | assertEq(bar.toString().search(/new\s+f/), -1); |
michael@0 | 19 | assertEq(foo.toString().search(/new\s+eval/), -1); |
michael@0 | 20 | |
michael@0 | 21 | reportCompare(true, true); |