/* -*- 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 nsISimpleEnumerator; /** * An optional interface for accessing or removing the cookies * that are in the cookie list */ [scriptable, uuid(AAAB6710-0F2C-11d5-A53B-0010A401EB10)] interface nsICookieManager : nsISupports { /** * Called to remove all cookies from the cookie list */ void removeAll(); /** * Called to enumerate through each cookie in the cookie list. * The objects enumerated over are of type nsICookie */ readonly attribute nsISimpleEnumerator enumerator; /** * Called to remove an individual cookie from the cookie list, specified * by host, name, and path. If the cookie cannot be found, no exception * is thrown. Typically, the arguments to this method will be obtained * directly from the desired nsICookie object. * * @param aHost The host or domain for which the cookie was set. @see * nsICookieManager2::add for a description of acceptable host * strings. If the target cookie is a domain cookie, a leading * dot must be present. * @param aName The name specified in the cookie * @param aPath The path for which the cookie was set * @param aBlocked Indicates if cookies from this host should be permanently blocked * */ void remove(in AUTF8String aHost, in ACString aName, in AUTF8String aPath, in boolean aBlocked); };