45 lines
1.5 KiB
Text
45 lines
1.5 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"
|
|
#include "nsICookie.idl"
|
|
|
|
/**
|
|
* Rule which specifies a cookie to be set in order to handle a cookie banner.
|
|
*/
|
|
|
|
[builtinclass, scriptable, uuid(bf049b1e-8a05-481f-a120-332ea1bd65ef)]
|
|
interface nsICookieRule : nsISupports {
|
|
/**
|
|
* The cookie to set.
|
|
* When calling this getter creation, expiry and last accessed time are
|
|
* computed.
|
|
*/
|
|
readonly attribute nsICookie cookie;
|
|
|
|
/**
|
|
* Expiry time of the cookie in seconds relative to the injection time.
|
|
* If you want a cookie to expire in 1 month after it has been set, set this
|
|
* to 2592000.
|
|
* Defaults to 'cookiebanners.cookieInjector.defaultExpiryRelative'.
|
|
*/
|
|
readonly attribute int64_t expiryRelative;
|
|
|
|
/**
|
|
* If an existing cookie sets this value it may be overwritten.
|
|
* This is used for sites which set an explicit cookie state, even if a
|
|
* cookie banner is still pending.
|
|
*/
|
|
readonly attribute AUTF8String unsetValue;
|
|
|
|
/**
|
|
* Create a copy of this rule for a domain. If the cookie host is unset it
|
|
* is set to ".<domain>".
|
|
* Non-empty host fields will be preserved.
|
|
*/
|
|
[noscript]
|
|
nsICookieRule copyForDomain(in ACString aDomain);
|
|
};
|