/* 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" /** * Service singleton for initializing and updating the list of cookie banner * handling rules. */ [scriptable, uuid(1d8d9470-97d3-4885-a108-44a5c4fb36e2)] interface nsICookieBannerListService : nsISupports { /** * Initialize the service. This asynchronously imports the initial set of rules. */ void init(); /** * Same as init but returns a promise which resolves once init is done. Used * for testing when we need to wait for all rules to be imported. */ Promise initForTest(); /** * Shutdown the service. This disables any rule updates. */ void shutdown(); /* * Asynchronously import all rules from RemoteSettings. */ void importAllRules(); }; %{C++ #define NS_COOKIEBANNERLISTSERVICE_CONTRACTID "@mozilla.org/cookie-banner-list-service;1" %}