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 | Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); |
michael@0 | 2 | |
michael@0 | 3 | const Cc = Components.classes; |
michael@0 | 4 | const Ci = Components.interfaces; |
michael@0 | 5 | |
michael@0 | 6 | function info(s) { |
michael@0 | 7 | dump("TEST-INFO | test_bug656331.js | " + s + "\n"); |
michael@0 | 8 | } |
michael@0 | 9 | |
michael@0 | 10 | var gMessageExpected = /Native module.*has version 3.*expected/; |
michael@0 | 11 | var gFound = false; |
michael@0 | 12 | |
michael@0 | 13 | const kConsoleListener = { |
michael@0 | 14 | QueryInterface: XPCOMUtils.generateQI([Ci.nsIConsoleListener]), |
michael@0 | 15 | |
michael@0 | 16 | observe: function listener_observe(message) { |
michael@0 | 17 | if (gMessageExpected.test(message.message)) |
michael@0 | 18 | gFound = true; |
michael@0 | 19 | } |
michael@0 | 20 | }; |
michael@0 | 21 | |
michael@0 | 22 | function run_test() { |
michael@0 | 23 | let cs = Components.classes["@mozilla.org/consoleservice;1"]. |
michael@0 | 24 | getService(Ci.nsIConsoleService); |
michael@0 | 25 | cs.registerListener(kConsoleListener); |
michael@0 | 26 | |
michael@0 | 27 | let manifest = do_get_file('bug656331.manifest'); |
michael@0 | 28 | Components.manager.autoRegister(manifest); |
michael@0 | 29 | |
michael@0 | 30 | do_check_false("{f18fb09b-28b4-4435-bc5b-8027f18df743}" in Components.classesByID); |
michael@0 | 31 | |
michael@0 | 32 | do_test_pending(); |
michael@0 | 33 | Components.classes["@mozilla.org/thread-manager;1"]. |
michael@0 | 34 | getService(Ci.nsIThreadManager).mainThread.dispatch(function() { |
michael@0 | 35 | cs.unregisterListener(kConsoleListener); |
michael@0 | 36 | do_check_true(gFound); |
michael@0 | 37 | do_test_finished(); |
michael@0 | 38 | }, 0); |
michael@0 | 39 | } |