summaryrefslogtreecommitdiffstats
path: root/netwerk/cookie/nsICookieNotification.idl
diff options
context:
space:
mode:
Diffstat (limited to 'netwerk/cookie/nsICookieNotification.idl')
-rw-r--r--netwerk/cookie/nsICookieNotification.idl70
1 files changed, 70 insertions, 0 deletions
diff --git a/netwerk/cookie/nsICookieNotification.idl b/netwerk/cookie/nsICookieNotification.idl
new file mode 100644
index 0000000000..b37ae65873
--- /dev/null
+++ b/netwerk/cookie/nsICookieNotification.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+
+interface nsICookie;
+interface nsIArray;
+webidl BrowsingContext;
+
+/**
+ * Meta object dispatched by cookie change notifications.
+ */
+[builtinclass, scriptable, uuid(5b3490f2-75f0-4e36-9f3d-47c857ecdfbb)]
+interface nsICookieNotification : nsISupports {
+
+ cenum Action : 8 {
+ // A cookie was deleted. cookie contains the deleted cookie.
+ COOKIE_DELETED,
+ // A cookie was added. cookie contains the added cookie.
+ COOKIE_ADDED,
+ // A cookie was altered. cookie contains the updated version of the
+ // cookie. Note that host, path, and name are invariant for a given
+ // cookie; other parameters may change.
+ COOKIE_CHANGED,
+ // the entire cookie list was cleared. cookie is null.
+ ALL_COOKIES_CLEARED,
+ // A set of cookies was purged. batchDeletedCookies contains the list of
+ // deleted cookies. cookie is null.
+ // Purging typically affects expired cookies or cases where the cookie
+ // list grows too large.
+ COOKIES_BATCH_DELETED,
+ };
+
+ /**
+ * Describes the cookie operation this notification is for. Cookies may be
+ * deleted, added or changed. See Action enum above for possible values.
+ */
+ [infallible] readonly attribute nsICookieNotification_Action action;
+
+
+ /**
+ * The cookie the notification is for, may be null depending on the action.
+ */
+ [infallible] readonly attribute nsICookie cookie;
+
+ /**
+ * Base domain of the cookie. May be empty if cookie is null.
+ */
+ readonly attribute ACString baseDomain;
+
+ /**
+ * List of cookies purged.
+ * Only set when action == COOKIES_BATCH_DELETED.
+ */
+ readonly attribute nsIArray batchDeletedCookies;
+
+ /**
+ * The id of the BrowsingContext the cookie change was triggered from. Set
+ * to 0 if there is not applicable BrowsingContext.
+ */
+ [infallible] readonly attribute unsigned long long browsingContextId;
+
+ /**
+ * BrowsingContext associated with browsingContextId. May be nullptr.
+ */
+ [infallible] readonly attribute BrowsingContext browsingContext;
+};