1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set sw=2 ts=8 et tw=80 ft=cpp : */
4 /* This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
8 include protocol PNecko;
9 include NeckoChannelParams;
11 using mozilla::OriginAttributes from "mozilla/ipc/BackgroundUtils.h";
12 [RefCounted] using class nsIURI from "mozilla/ipc/URIUtils.h";
20 * Provides IPDL methods for setting and getting cookies. These are stored on
21 * and managed by the parent; the child process goes through the parent for
22 * all cookie operations. Lower-level programmatic operations (i.e. those
23 * provided by the nsICookieManager interface) are not
24 * currently implemented and requesting these interfaces in the child will fail.
26 * @see nsICookieService
27 * @see nsICookiePermission
30 [ManualDealloc, NestedUpTo=inside_cpow] sync protocol PCookieService
35 [Nested=inside_cpow] async SetCookies(nsCString baseDomain,
36 OriginAttributes attrs,
39 CookieStruct[] cookies);
41 async PrepareCookieList(nullable nsIURI host,
43 bool isThirdPartyTrackingResource,
44 bool isThirdPartySocialTrackingResource,
45 bool firstPartyStorageAccessPermissionGranted,
46 uint32_t rejectedReason,
47 bool isSafeTopLevelNav,
48 bool isSameSiteForeign,
49 bool hadCrossSiteRedirects,
50 OriginAttributes attrs);
55 async TrackCookiesLoad(CookieStruct[] cookiesList,
56 OriginAttributes attrs);
58 async RemoveCookie(CookieStruct cookie,
59 OriginAttributes attrs);
61 async RemoveBatchDeletedCookies(CookieStruct[] cookiesList,
62 OriginAttributes[] attrsList);
66 async AddCookie(CookieStruct cookie,
67 OriginAttributes attrs);