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: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 * vim: sw=2 ts=2 sts=2 expandtab
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "nsISupports.idl"
9 %{C++
10 #ifdef ERROR
11 #undef ERROR
12 #endif
13 %}
15 [scriptable, uuid(1f350f96-7023-434a-8864-40a1c493aac1)]
16 interface mozIStorageError : nsISupports {
18 /**
19 * General SQL error or missing database.
20 */
21 const long ERROR = 1;
23 /**
24 * Internal logic error.
25 */
26 const long INTERNAL = 2;
28 /**
29 * Access permission denied.
30 */
31 const long PERM = 3;
33 /**
34 * A callback routine requested an abort.
35 */
36 const long ABORT = 4;
38 /**
39 * The database file is locked.
40 */
41 const long BUSY = 5;
43 /**
44 * A table in the database is locked.
45 */
46 const long LOCKED = 6;
48 /**
49 * An allocation failed.
50 */
51 const long NOMEM = 7;
53 /**
54 * Attempt to write to a readonly database.
55 */
56 const long READONLY = 8;
58 /**
59 * Operation was terminated by an interrupt.
60 */
61 const long INTERRUPT = 9;
63 /**
64 * Some kind of disk I/O error occurred.
65 */
66 const long IOERR = 10;
68 /**
69 * The database disk image is malformed.
70 */
71 const long CORRUPT = 11;
73 /**
74 * An insertion failed because the database is full.
75 */
76 const long FULL = 13;
78 /**
79 * Unable to open the database file.
80 */
81 const long CANTOPEN = 14;
83 /**
84 * The database is empty.
85 */
86 const long EMPTY = 16;
88 /**
89 * The database scheme changed.
90 */
91 const long SCHEMA = 17;
93 /**
94 * A string or blob exceeds the size limit.
95 */
96 const long TOOBIG = 18;
98 /**
99 * Abort due to a constraint violation.
100 */
101 const long CONSTRAINT = 19;
103 /**
104 * Data type mismatch.
105 */
106 const long MISMATCH = 20;
108 /**
109 * Library used incorrectly.
110 */
111 const long MISUSE = 21;
113 /**
114 * Uses OS features not supported on the host system.
115 */
116 const long NOLFS = 22;
118 /**
119 * Authorization denied.
120 */
121 const long AUTH = 23;
123 /**
124 * Auxiliary database format error.
125 */
126 const long FORMAT = 24;
128 /**
129 * Attempt to bind a parameter using an out-of-range index or nonexistent
130 * named parameter name.
131 */
132 const long RANGE = 25;
134 /**
135 * File opened that is not a database file.
136 */
137 const long NOTADB = 26;
140 /**
141 * Indicates what type of error occurred.
142 */
143 readonly attribute long result;
145 /**
146 * An error string the gives more details, if available.
147 */
148 readonly attribute AUTF8String message;
149 };