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 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 4 | |
michael@0 | 5 | #ifndef nsInterfaceRequestorAgg_h__ |
michael@0 | 6 | #define nsInterfaceRequestorAgg_h__ |
michael@0 | 7 | |
michael@0 | 8 | #include "nsError.h" |
michael@0 | 9 | |
michael@0 | 10 | class nsIEventTarget; |
michael@0 | 11 | class nsIInterfaceRequestor; |
michael@0 | 12 | |
michael@0 | 13 | /** |
michael@0 | 14 | * This function returns an instance of nsIInterfaceRequestor that aggregates |
michael@0 | 15 | * two nsIInterfaceRequestor instances. Its GetInterface method queries |
michael@0 | 16 | * aFirst for the requested interface and will query aSecond only if aFirst |
michael@0 | 17 | * failed to supply the requested interface. Both aFirst and aSecond may |
michael@0 | 18 | * be null, and will be released on the main thread when the aggregator is |
michael@0 | 19 | * destroyed. |
michael@0 | 20 | */ |
michael@0 | 21 | extern nsresult |
michael@0 | 22 | NS_NewInterfaceRequestorAggregation(nsIInterfaceRequestor *aFirst, |
michael@0 | 23 | nsIInterfaceRequestor *aSecond, |
michael@0 | 24 | nsIInterfaceRequestor **aResult); |
michael@0 | 25 | |
michael@0 | 26 | /** |
michael@0 | 27 | * Like the previous method, but aFirst and aSecond will be released on the |
michael@0 | 28 | * provided target thread. |
michael@0 | 29 | */ |
michael@0 | 30 | extern nsresult |
michael@0 | 31 | NS_NewInterfaceRequestorAggregation(nsIInterfaceRequestor *aFirst, |
michael@0 | 32 | nsIInterfaceRequestor *aSecond, |
michael@0 | 33 | nsIEventTarget *aTarget, |
michael@0 | 34 | nsIInterfaceRequestor **aResult); |
michael@0 | 35 | |
michael@0 | 36 | #endif // !defined( nsInterfaceRequestorAgg_h__ ) |