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 | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ |
michael@0 | 2 | /* This Source Code Form is subject to the terms of the Mozilla Public |
michael@0 | 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this |
michael@0 | 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
michael@0 | 5 | |
michael@0 | 6 | #ifndef nsXPCOMCID_h__ |
michael@0 | 7 | #define nsXPCOMCID_h__ |
michael@0 | 8 | |
michael@0 | 9 | /** |
michael@0 | 10 | * XPCOM Directory Service Contract ID |
michael@0 | 11 | * The directory service provides ways to obtain file system locations. The |
michael@0 | 12 | * directory service is a singleton. |
michael@0 | 13 | * |
michael@0 | 14 | * This contract supports the nsIDirectoryService and the nsIProperties |
michael@0 | 15 | * interfaces. |
michael@0 | 16 | * |
michael@0 | 17 | */ |
michael@0 | 18 | #define NS_DIRECTORY_SERVICE_CONTRACTID "@mozilla.org/file/directory_service;1" |
michael@0 | 19 | |
michael@0 | 20 | /** |
michael@0 | 21 | * XPCOM File |
michael@0 | 22 | * The file abstraction provides ways to obtain and access files and |
michael@0 | 23 | * directories located on the local system. |
michael@0 | 24 | * |
michael@0 | 25 | * This contract supports the nsIFile interface. |
michael@0 | 26 | * This contract may also support platform specific interfaces such as |
michael@0 | 27 | * nsILocalFileMac on platforms where additional interfaces are required. |
michael@0 | 28 | * |
michael@0 | 29 | */ |
michael@0 | 30 | #define NS_LOCAL_FILE_CONTRACTID "@mozilla.org/file/local;1" |
michael@0 | 31 | |
michael@0 | 32 | /** |
michael@0 | 33 | * XPCOM Category Manager Contract ID |
michael@0 | 34 | * The contract supports the nsICategoryManager interface. The |
michael@0 | 35 | * category manager is a singleton. |
michael@0 | 36 | * The "enumerateCategory" method of nsICategoryManager will return an object |
michael@0 | 37 | * that implements nsIUTF8StringEnumerator. In addition, the enumerator will |
michael@0 | 38 | * return the entries in sorted order (sorted by byte comparison). |
michael@0 | 39 | */ |
michael@0 | 40 | #define NS_CATEGORYMANAGER_CONTRACTID "@mozilla.org/categorymanager;1" |
michael@0 | 41 | |
michael@0 | 42 | /** |
michael@0 | 43 | * XPCOM Properties Object Contract ID |
michael@0 | 44 | * Simple mapping object which supports the nsIProperties interface. |
michael@0 | 45 | */ |
michael@0 | 46 | #define NS_PROPERTIES_CONTRACTID "@mozilla.org/properties;1" |
michael@0 | 47 | |
michael@0 | 48 | /** |
michael@0 | 49 | * XPCOM Array Object ContractID |
michael@0 | 50 | * Simple array implementation which supports the nsIArray and |
michael@0 | 51 | * nsIMutableArray interfaces. |
michael@0 | 52 | */ |
michael@0 | 53 | #define NS_ARRAY_CONTRACTID "@mozilla.org/array;1" |
michael@0 | 54 | |
michael@0 | 55 | /** |
michael@0 | 56 | * Observer Service ContractID |
michael@0 | 57 | * The observer service implements the global nsIObserverService object. |
michael@0 | 58 | * It should be used from the main thread only. |
michael@0 | 59 | */ |
michael@0 | 60 | #define NS_OBSERVERSERVICE_CONTRACTID "@mozilla.org/observer-service;1" |
michael@0 | 61 | |
michael@0 | 62 | /** |
michael@0 | 63 | * IO utilities service contract id. |
michael@0 | 64 | * This guarantees implementation of nsIIOUtil. Usable from any thread. |
michael@0 | 65 | */ |
michael@0 | 66 | #define NS_IOUTIL_CONTRACTID "@mozilla.org/io-util;1" |
michael@0 | 67 | |
michael@0 | 68 | /** |
michael@0 | 69 | * Memory reporter service CID |
michael@0 | 70 | */ |
michael@0 | 71 | #define NS_MEMORY_REPORTER_MANAGER_CONTRACTID "@mozilla.org/memory-reporter-manager;1" |
michael@0 | 72 | |
michael@0 | 73 | /** |
michael@0 | 74 | * Memory info dumper service CID |
michael@0 | 75 | */ |
michael@0 | 76 | #define NS_MEMORY_INFO_DUMPER_CONTRACTID "@mozilla.org/memory-info-dumper;1" |
michael@0 | 77 | |
michael@0 | 78 | /** |
michael@0 | 79 | * Status reporter service CID |
michael@0 | 80 | */ |
michael@0 | 81 | #define NS_STATUS_REPORTER_MANAGER_CONTRACTID "@mozilla.org/status-reporter-manager;1" |
michael@0 | 82 | |
michael@0 | 83 | /** |
michael@0 | 84 | * Cycle collector logger contract id |
michael@0 | 85 | */ |
michael@0 | 86 | #define NS_CYCLE_COLLECTOR_LOGGER_CONTRACTID "@mozilla.org/cycle-collector-logger;1" |
michael@0 | 87 | |
michael@0 | 88 | /** |
michael@0 | 89 | * nsMessageLoop contract id |
michael@0 | 90 | */ |
michael@0 | 91 | #define NS_MESSAGE_LOOP_CONTRACTID "@mozilla.org/message-loop;1" |
michael@0 | 92 | |
michael@0 | 93 | /** |
michael@0 | 94 | * The following are the CIDs and Contract IDs of the nsISupports wrappers for |
michael@0 | 95 | * primative types. |
michael@0 | 96 | */ |
michael@0 | 97 | #define NS_SUPPORTS_ID_CID \ |
michael@0 | 98 | { 0xacf8dc40, 0x4a25, 0x11d3, \ |
michael@0 | 99 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 100 | #define NS_SUPPORTS_ID_CONTRACTID "@mozilla.org/supports-id;1" |
michael@0 | 101 | |
michael@0 | 102 | #define NS_SUPPORTS_CSTRING_CID \ |
michael@0 | 103 | { 0xacf8dc41, 0x4a25, 0x11d3, \ |
michael@0 | 104 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 105 | #define NS_SUPPORTS_CSTRING_CONTRACTID "@mozilla.org/supports-cstring;1" |
michael@0 | 106 | |
michael@0 | 107 | #define NS_SUPPORTS_STRING_CID \ |
michael@0 | 108 | { 0xacf8dc42, 0x4a25, 0x11d3, \ |
michael@0 | 109 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 110 | #define NS_SUPPORTS_STRING_CONTRACTID "@mozilla.org/supports-string;1" |
michael@0 | 111 | |
michael@0 | 112 | #define NS_SUPPORTS_PRBOOL_CID \ |
michael@0 | 113 | { 0xacf8dc43, 0x4a25, 0x11d3, \ |
michael@0 | 114 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 115 | #define NS_SUPPORTS_PRBOOL_CONTRACTID "@mozilla.org/supports-PRBool;1" |
michael@0 | 116 | |
michael@0 | 117 | #define NS_SUPPORTS_PRUINT8_CID \ |
michael@0 | 118 | { 0xacf8dc44, 0x4a25, 0x11d3, \ |
michael@0 | 119 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 120 | #define NS_SUPPORTS_PRUINT8_CONTRACTID "@mozilla.org/supports-PRUint8;1" |
michael@0 | 121 | |
michael@0 | 122 | #define NS_SUPPORTS_PRUINT16_CID \ |
michael@0 | 123 | { 0xacf8dc46, 0x4a25, 0x11d3, \ |
michael@0 | 124 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 125 | #define NS_SUPPORTS_PRUINT16_CONTRACTID "@mozilla.org/supports-PRUint16;1" |
michael@0 | 126 | |
michael@0 | 127 | #define NS_SUPPORTS_PRUINT32_CID \ |
michael@0 | 128 | { 0xacf8dc47, 0x4a25, 0x11d3, \ |
michael@0 | 129 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 130 | #define NS_SUPPORTS_PRUINT32_CONTRACTID "@mozilla.org/supports-PRUint32;1" |
michael@0 | 131 | |
michael@0 | 132 | #define NS_SUPPORTS_PRUINT64_CID \ |
michael@0 | 133 | { 0xacf8dc48, 0x4a25, 0x11d3, \ |
michael@0 | 134 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 135 | #define NS_SUPPORTS_PRUINT64_CONTRACTID "@mozilla.org/supports-PRUint64;1" |
michael@0 | 136 | |
michael@0 | 137 | #define NS_SUPPORTS_PRTIME_CID \ |
michael@0 | 138 | { 0xacf8dc49, 0x4a25, 0x11d3, \ |
michael@0 | 139 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 140 | #define NS_SUPPORTS_PRTIME_CONTRACTID "@mozilla.org/supports-PRTime;1" |
michael@0 | 141 | |
michael@0 | 142 | #define NS_SUPPORTS_CHAR_CID \ |
michael@0 | 143 | { 0xacf8dc4a, 0x4a25, 0x11d3, \ |
michael@0 | 144 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 145 | #define NS_SUPPORTS_CHAR_CONTRACTID "@mozilla.org/supports-char;1" |
michael@0 | 146 | |
michael@0 | 147 | #define NS_SUPPORTS_PRINT16_CID \ |
michael@0 | 148 | { 0xacf8dc4b, 0x4a25, 0x11d3, \ |
michael@0 | 149 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 150 | #define NS_SUPPORTS_PRINT16_CONTRACTID "@mozilla.org/supports-PRInt16;1" |
michael@0 | 151 | |
michael@0 | 152 | #define NS_SUPPORTS_PRINT32_CID \ |
michael@0 | 153 | { 0xacf8dc4c, 0x4a25, 0x11d3, \ |
michael@0 | 154 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 155 | #define NS_SUPPORTS_PRINT32_CONTRACTID "@mozilla.org/supports-PRInt32;1" |
michael@0 | 156 | |
michael@0 | 157 | #define NS_SUPPORTS_PRINT64_CID \ |
michael@0 | 158 | { 0xacf8dc4d, 0x4a25, 0x11d3, \ |
michael@0 | 159 | { 0x98, 0x90, 0x0, 0x60, 0x8, 0x96, 0x24, 0x22 } } |
michael@0 | 160 | #define NS_SUPPORTS_PRINT64_CONTRACTID "@mozilla.org/supports-PRInt64;1" |
michael@0 | 161 | |
michael@0 | 162 | #define NS_SUPPORTS_FLOAT_CID \ |
michael@0 | 163 | { 0xcbf86870, 0x4ac0, 0x11d3, \ |
michael@0 | 164 | { 0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } } |
michael@0 | 165 | #define NS_SUPPORTS_FLOAT_CONTRACTID "@mozilla.org/supports-float;1" |
michael@0 | 166 | |
michael@0 | 167 | #define NS_SUPPORTS_DOUBLE_CID \ |
michael@0 | 168 | { 0xcbf86871, 0x4ac0, 0x11d3, \ |
michael@0 | 169 | { 0xba, 0xea, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } } |
michael@0 | 170 | #define NS_SUPPORTS_DOUBLE_CONTRACTID "@mozilla.org/supports-double;1" |
michael@0 | 171 | |
michael@0 | 172 | #define NS_SUPPORTS_VOID_CID \ |
michael@0 | 173 | { 0xaf10f3e0, 0x568d, 0x11d3, \ |
michael@0 | 174 | { 0xba, 0xf8, 0x0, 0x80, 0x5f, 0x8a, 0x5d, 0xd7 } } |
michael@0 | 175 | #define NS_SUPPORTS_VOID_CONTRACTID "@mozilla.org/supports-void;1" |
michael@0 | 176 | |
michael@0 | 177 | #define NS_SUPPORTS_INTERFACE_POINTER_CID \ |
michael@0 | 178 | { 0xA99FEBBA, 0x1DD1, 0x11B2, \ |
michael@0 | 179 | { 0xA9, 0x43, 0xB0, 0x23, 0x34, 0xA6, 0xD0, 0x83 } } |
michael@0 | 180 | #define NS_SUPPORTS_INTERFACE_POINTER_CONTRACTID "@mozilla.org/supports-interface-pointer;1" |
michael@0 | 181 | |
michael@0 | 182 | #endif |