summaryrefslogtreecommitdiffstats
path: root/toolkit/components/cookiebanners/nsIClickRule.idl
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/cookiebanners/nsIClickRule.idl')
-rw-r--r--toolkit/components/cookiebanners/nsIClickRule.idl76
1 files changed, 76 insertions, 0 deletions
diff --git a/toolkit/components/cookiebanners/nsIClickRule.idl b/toolkit/components/cookiebanners/nsIClickRule.idl
new file mode 100644
index 0000000000..8c2f9de4dc
--- /dev/null
+++ b/toolkit/components/cookiebanners/nsIClickRule.idl
@@ -0,0 +1,76 @@
+/* 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"
+
+/*
+ * Rule to specify the CSS selector for detecting and clicking cookie banner.
+ */
+
+[builtinclass, scriptable, uuid(7e104b32-b6db-43f3-b887-573c01acef39)]
+interface nsIClickRule : nsISupports {
+ /**
+ * Where the click rule may be executed.
+ * RUN_TOP: Only run in the top window.
+ * RUN_CHILD: Only run in child frames (including nested frames). Not in the
+ * top window.
+ * RUN_ALL: Run in both the top window and any child frames (including nested
+ * frames).
+ */
+ cenum RunContext : 8 {
+ RUN_TOP,
+ RUN_CHILD,
+ RUN_ALL,
+ };
+
+ /**
+ * The id for the click rule. For a global rule, the id will be the name of
+ * the CMP. For a per-site rule, the id would be a UUID string. This is the
+ * same id as the nsICookieBannerRule.
+ */
+ [must_use] readonly attribute ACString id;
+
+ /**
+ * The CSS selector for detecting the presence of the cookie banner.
+ */
+ [must_use] readonly attribute ACString presence;
+
+ /**
+ * Whether to skip checking if the banner is visible before clicking it.
+ */
+ [must_use] readonly attribute boolean skipPresenceVisibilityCheck;
+
+
+ /**
+ * Where the click rule should be executed. See RunContext enum. Defaults to
+ * RUN_TOP.
+ */
+ [must_use] readonly attribute nsIClickRule_RunContext runContext;
+
+ /**
+ * The CSS selector for hiding the presence of the cookie banner. If this is
+ * not given, we will use the presence selector to hide the banner.
+ *
+ * Note that we hide the cookie banner before we click it in order to prevent
+ * flickers.
+ */
+ [must_use] readonly attribute ACString hide;
+
+ /**
+ * The CSS selector to to select the element to click for the opt-out option
+ * for the cookie banner.
+ */
+ [must_use] readonly attribute ACString optOut;
+
+ /**
+ * The CSS selector to to select the element to click for the opt-in option
+ * for the cookie banner.
+ */
+ [must_use] readonly attribute ACString optIn;
+
+ /**
+ * Whether or not this click rule is a global rule.
+ */
+ [must_use] readonly attribute boolean isGlobalRule;
+};