Public Member Functions | Public Attributes

nsICookiePermission Interface Reference

An interface to test for cookie permissions. More...

import "nsICookiePermission.idl";

List of all members.

Public Member Functions

void setAccess (in nsIURI aURI, in nsCookieAccess aAccess)
 setAccess
nsCookieAccess canAccess (in nsIURI aURI, in nsIChannel aChannel)
 canAccess
boolean canSetCookie (in nsIURI aURI, in nsIChannel aChannel, in nsICookie2 aCookie, inout boolean aIsSession, inout PRInt64 aExpiry)
 canSetCookie
nsIURI getOriginatingURI (in nsIChannel aChannel)
 getOriginatingURI

Public Attributes

const nsCookieAccess ACCESS_DEFAULT = 0
 nsCookieAccess values
const nsCookieAccess ACCESS_ALLOW = 1
const nsCookieAccess ACCESS_DENY = 2
const nsCookieAccess ACCESS_SESSION = 8
 additional values for nsCookieAccess, which are not directly used by any methods on this interface, but are nevertheless convenient to define here.

Detailed Description

An interface to test for cookie permissions.


Member Function Documentation

nsCookieAccess nsICookiePermission::canAccess ( in nsIURI  aURI,
in nsIChannel  aChannel 
)

canAccess

this method is called to test whether or not the given URI/channel may access the cookie database, either to set or get cookies.

Parameters:
aURI the URI trying to access cookies
aChannel the channel corresponding to aURI
Returns:
one of the following nsCookieAccess values: ACCESS_DEFAULT, ACCESS_ALLOW, or ACCESS_DENY
boolean nsICookiePermission::canSetCookie ( in nsIURI  aURI,
in nsIChannel  aChannel,
in nsICookie2  aCookie,
inout boolean  aIsSession,
inout PRInt64  aExpiry 
)

canSetCookie

this method is called to test whether or not the given URI/channel may set a specific cookie. this method is always preceded by a call to canAccess. it may modify the isSession and expiry attributes of the cookie via the aIsSession and aExpiry parameters, in order to limit or extend the lifetime of the cookie. this is useful, for instance, to downgrade a cookie to session-only if it fails to meet certain criteria.

Parameters:
aURI the URI trying to set the cookie
aChannel the channel corresponding to aURI
aCookie the cookie being added to the cookie database
aIsSession when canSetCookie is invoked, this is the current isSession attribute of the cookie. canSetCookie may leave this value unchanged to preserve this attribute of the cookie.
aExpiry when canSetCookie is invoked, this is the current expiry time of the cookie. canSetCookie may leave this value unchanged to preserve this attribute of the cookie.
Returns:
true if the cookie can be set.
nsIURI nsICookiePermission::getOriginatingURI ( in nsIChannel  aChannel  ) 

getOriginatingURI

determines the originating URI for a load given a channel, for third-party cookie blocking. this is done by leveraging the loadgroup of the channel to find the root content docshell, and the URI associated with its principal. if the root content docshell or its principal's URI cannot be obtained, this method will throw.

Parameters:
aChannel the channel for the load trying to get or set cookies
Returns:
the originating URI.
void nsICookiePermission::setAccess ( in nsIURI  aURI,
in nsCookieAccess  aAccess 
)

setAccess

this method is called to block cookie access for the given URI. this may result in other URIs being blocked as well (e.g., URIs which share the same host name).

Parameters:
aURI the URI to block
aAccess the new cookie access for the URI.

Member Data Documentation

nsCookieAccess values

additional values for nsCookieAccess, which are not directly used by any methods on this interface, but are nevertheless convenient to define here.

these may be relocated somewhere else if we ever consider freezing this interface.


The documentation for this interface was generated from the following file: