81 lines
2.7 KiB
Text
81 lines
2.7 KiB
Text
/* -*- 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;
|
|
|
|
/**
|
|
* True if the cookie set (added or changed) is considered third-party.
|
|
*/
|
|
[infallible] readonly attribute boolean isThirdParty;
|
|
|
|
/**
|
|
* 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;
|
|
|
|
/**
|
|
* Operation ID to track which nsICookieManager operation has generated
|
|
* this notification.
|
|
*/
|
|
readonly attribute nsIDPtr operationID;
|
|
};
|