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.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "nsICollection.idl"
9 /*
10 * This entire interface is deprecated and should not be used.
11 * See nsIArray and nsIMutableArray for the new implementations.
12 *
13 * http://groups.google.com/groups?q=nsisupportsarray+group:netscape.public.mozilla.xpcom&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=3D779491.3050506%40netscape.com&rnum=2
14 * http://groups.google.com/groups?q=nsisupportsarray+group:netscape.public.mozilla.xpcom&hl=en&lr=&ie=UTF-8&oe=UTF-8&selm=al8412%245ab2%40ripley.netscape.com&rnum=8
15 */
17 %{C++
19 class nsIBidirectionalEnumerator;
20 class nsISupportsArray;
22 #define NS_SUPPORTSARRAY_CID \
23 { /* bda17d50-0d6b-11d3-9331-00104ba0fd40 */ \
24 0xbda17d50, \
25 0x0d6b, \
26 0x11d3, \
27 {0x93, 0x31, 0x00, 0x10, 0x4b, 0xa0, 0xfd, 0x40} \
28 }
29 #define NS_SUPPORTSARRAY_CONTRACTID "@mozilla.org/supports-array;1"
31 %}
33 [scriptable, uuid(241addc8-3608-4e73-8083-2fd6fa09eba2)]
34 interface nsISupportsArray : nsICollection {
36 [notxpcom] boolean Equals([const] in nsISupportsArray other);
38 [notxpcom] long IndexOf([const] in nsISupports aPossibleElement);
39 [notxpcom] long IndexOfStartingAt([const] in nsISupports aPossibleElement,
40 in unsigned long aStartIndex);
41 [notxpcom] long LastIndexOf([const] in nsISupports aPossibleElement);
43 // xpcom-compatible versions
44 long GetIndexOf(in nsISupports aPossibleElement);
45 long GetIndexOfStartingAt(in nsISupports aPossibleElement,
46 in unsigned long aStartIndex);
47 long GetLastIndexOf(in nsISupports aPossibleElement);
49 [notxpcom] boolean InsertElementAt(in nsISupports aElement,
50 in unsigned long aIndex);
51 [notxpcom] boolean ReplaceElementAt(in nsISupports aElement,
52 in unsigned long aIndex);
54 [notxpcom] boolean RemoveElementAt(in unsigned long aIndex);
55 [notxpcom] boolean RemoveLastElement([const] in nsISupports aElement);
57 // xpcom-compatible versions
58 void DeleteLastElement(in nsISupports aElement);
59 void DeleteElementAt(in unsigned long aIndex);
61 [notxpcom] boolean AppendElements(in nsISupportsArray aElements);
63 void Compact();
66 nsISupportsArray clone();
68 [notxpcom] boolean MoveElement(in long aFrom,
69 in long aTo);
71 [notxpcom] boolean InsertElementsAt(in nsISupportsArray aOther,
72 in unsigned long aIndex);
74 [notxpcom] boolean RemoveElementsAt(in unsigned long aIndex,
75 in unsigned long aCount);
77 [notxpcom] boolean SizeTo(in long aSize);
79 };
81 %{C++
83 // Construct and return a default implementation of nsISupportsArray:
84 extern nsresult
85 NS_NewISupportsArray(nsISupportsArray** aInstancePtrResult);
87 %}