js/xpconnect/tests/unit/test_bug845862.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

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 const Cu = Components.utils;
michael@0 2
michael@0 3 function run_test() {
michael@0 4 // We rely on the crazy "wantXrays:false also causes values return from the
michael@0 5 // sandbox to be waived" behavior, because it's the simplest way to get
michael@0 6 // waivers out of the sandbox (which has no native objects). :-(
michael@0 7 var sb = new Cu.Sandbox('http://www.example.com', {wantXrays: false});
michael@0 8 Cu.evalInSandbox("this.foo = {}; Object.defineProperty(foo, 'bar', {get: function() {return {};}});", sb);
michael@0 9 do_check_true(sb.foo != XPCNativeWrapper(sb.foo), "sb.foo is waived");
michael@0 10 var desc = Object.getOwnPropertyDescriptor(sb.foo, 'bar');
michael@0 11 var b = desc.get();
michael@0 12 do_check_true(b != XPCNativeWrapper(b), "results from accessor descriptors are waived");
michael@0 13 }

mercurial