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: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
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 | */ |
michael@0 | 6 | |
michael@0 | 7 | if (typeof evalcx == 'function') { |
michael@0 | 8 | var src = 'try {\n' + |
michael@0 | 9 | ' for (var [e] = /x/ in d) {\n' + |
michael@0 | 10 | ' (function () {});\n' + |
michael@0 | 11 | ' }\n' + |
michael@0 | 12 | '} catch (e) {}\n' + |
michael@0 | 13 | 'try {\n' + |
michael@0 | 14 | ' let(x = Object.freeze(this, /x/))\n' + |
michael@0 | 15 | ' e = {}.toString\n' + |
michael@0 | 16 | ' function y() {}\n' + |
michael@0 | 17 | '} catch (e) {}'; |
michael@0 | 18 | |
michael@0 | 19 | evalcx(src); |
michael@0 | 20 | } |
michael@0 | 21 | |
michael@0 | 22 | reportCompare(0, 0, "don't crash"); |