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 | <!doctype html> |
michael@0 | 2 | <meta charset=utf-8> |
michael@0 | 3 | <title>[LenientThis]</title> |
michael@0 | 4 | <script src=/resources/testharness.js></script> |
michael@0 | 5 | <script src=/resources/testharnessreport.js></script> |
michael@0 | 6 | <div id=log></div> |
michael@0 | 7 | <script> |
michael@0 | 8 | function noop1() { } |
michael@0 | 9 | function noop2() { } |
michael@0 | 10 | |
michael@0 | 11 | test(function() { |
michael@0 | 12 | var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange"); |
michael@0 | 13 | |
michael@0 | 14 | document.onreadystatechange = noop1; |
michael@0 | 15 | assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1"); |
michael@0 | 16 | assert_equals(desc.get.call({ }), undefined, "document.onreadystatechange getter.call({}) == undefined"); |
michael@0 | 17 | }, "invoking Document.onreadystatechange's getter with an invalid this object returns undefined"); |
michael@0 | 18 | |
michael@0 | 19 | test(function() { |
michael@0 | 20 | var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange"); |
michael@0 | 21 | |
michael@0 | 22 | document.onreadystatechange = noop1; |
michael@0 | 23 | assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1"); |
michael@0 | 24 | assert_equals(desc.set.call({ }, noop2), undefined, "document.onreadystatechange setter.call({}) == undefined"); |
michael@0 | 25 | assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1 (still)"); |
michael@0 | 26 | }, "invoking Document.onreadystatechange's setter with an invalid this object does nothing and returns undefined"); |
michael@0 | 27 | </script> |