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 | // Test that you can't call the SavedFrame constructor and can only use |
michael@0 | 2 | // SavedFrame's getters on SavedFrame instances. |
michael@0 | 3 | |
michael@0 | 4 | load(libdir + "asserts.js"); |
michael@0 | 5 | |
michael@0 | 6 | let proto = Object.getPrototypeOf(saveStack()); |
michael@0 | 7 | |
michael@0 | 8 | // Can't create new SavedFrame instances by hand. |
michael@0 | 9 | assertThrowsInstanceOf(() => { |
michael@0 | 10 | new proto.constructor(); |
michael@0 | 11 | }, TypeError); |
michael@0 | 12 | |
michael@0 | 13 | for (let p of ["source", "line", "column", "functionDisplayName", "parent"]) { |
michael@0 | 14 | // The getters shouldn't work on the prototype. |
michael@0 | 15 | assertThrowsInstanceOf(() => proto[p], TypeError); |
michael@0 | 16 | |
michael@0 | 17 | // Nor should they work on random objects. |
michael@0 | 18 | let o = {}; |
michael@0 | 19 | Object.defineProperty(o, p, Object.getOwnPropertyDescriptor(proto, p)); |
michael@0 | 20 | assertThrowsInstanceOf(() => o[p], TypeError); |
michael@0 | 21 | } |