@duckduckgo/autoconsent 10.7.0 → 10.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ddg-release.yml +5 -9
- package/CHANGELOG.md +51 -0
- package/ci/asana-create-tasks.js +2 -2
- package/ci/clients_pr_template.md +3 -0
- package/data/coverage.json +997 -1011
- package/dist/addon-firefox/background.bundle.js +5 -0
- package/dist/addon-firefox/content.bundle.js +28 -10
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/rules.json +135 -17
- package/dist/addon-mv3/background.bundle.js +5 -0
- package/dist/addon-mv3/content.bundle.js +28 -10
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/rules.json +135 -17
- package/dist/autoconsent.cjs.js +28 -10
- package/dist/autoconsent.esm.js +28 -10
- package/dist/autoconsent.playwright.js +1 -1
- package/dist/autoconsent.unit.js +163 -27
- package/lib/cmps/evidon.ts +4 -3
- package/lib/cmps/trustarc-frame.ts +25 -6
- package/lib/cmps/trustarc-top.ts +2 -1
- package/lib/eval-snippets.ts +5 -0
- package/package.json +1 -1
- package/readme.md +2 -4
- package/rules/autoconsent/aquasana-com.json +12 -3
- package/rules/autoconsent/complianz-opt-out.json +12 -1
- package/rules/autoconsent/cookiecuttr.json +37 -0
- package/rules/autoconsent/fides.json +5 -2
- package/rules/autoconsent/instagram.json +1 -1
- package/rules/autoconsent/ketch.json +8 -5
- package/rules/autoconsent/roblox.json +36 -0
- package/rules/autoconsent/uswitch.json +10 -5
- package/rules/rules.json +135 -17
- package/tests/aquasana-com.spec.ts +4 -1
- package/tests/cookiecuttr.spec.ts +7 -0
- package/tests/fides.spec.ts +1 -0
- package/tests/ketch.spec.ts +6 -0
- package/tests/roblox.spec.ts +5 -0
|
@@ -46,6 +46,8 @@
|
|
|
46
46
|
},
|
|
47
47
|
EVAL_ONETRUST_1: () => window.OnetrustActiveGroups.split(",").filter((s) => s.length > 0).length <= 1,
|
|
48
48
|
EVAL_TRUSTARC_TOP: () => window && window.truste && window.truste.eu.bindMap.prefCookie === "0",
|
|
49
|
+
EVAL_TRUSTARC_FRAME_TEST: () => window && window.QueryString && window.QueryString.preferences === "0",
|
|
50
|
+
EVAL_TRUSTARC_FRAME_GTM: () => window && window.QueryString && window.QueryString.gtm === "1",
|
|
49
51
|
// declarative rules
|
|
50
52
|
EVAL_ADROLL_0: () => !document.cookie.includes("__adroll_fpc"),
|
|
51
53
|
EVAL_ALMACMP_0: () => document.cookie.includes('"name":"Google","consent":false'),
|
|
@@ -90,6 +92,7 @@
|
|
|
90
92
|
EVAL_EU_COOKIE_LAW_0: () => !document.cookie.includes("euCookie"),
|
|
91
93
|
EVAL_EZOIC_0: () => ezCMP.handleAcceptAllClick(),
|
|
92
94
|
EVAL_EZOIC_1: () => !!document.cookie.match(/ez-consent-tcf/),
|
|
95
|
+
EVAL_FIDES_DETECT_POPUP: () => window.Fides?.initialized,
|
|
93
96
|
EVAL_GOOGLE_0: () => !!document.cookie.match(/SOCS=CAE/),
|
|
94
97
|
EVAL_HEMA_TEST_0: () => document.cookie.includes("cookies_rejected=1"),
|
|
95
98
|
EVAL_IUBENDA_0: () => document.querySelectorAll(".purposes-item input[type=checkbox]:not([disabled])").forEach((x) => {
|
|
@@ -99,6 +102,7 @@
|
|
|
99
102
|
EVAL_IUBENDA_1: () => !!document.cookie.match(/_iub_cs-\d+=/),
|
|
100
103
|
EVAL_IWINK_TEST: () => document.cookie.includes("cookie_permission_granted=no"),
|
|
101
104
|
EVAL_JQUERY_COOKIEBAR_0: () => !document.cookie.includes("cookies-state=accepted"),
|
|
105
|
+
EVAL_KETCH_TEST: () => document.cookie.includes("_ketch_consent_v1_"),
|
|
102
106
|
EVAL_MEDIAVINE_0: () => document.querySelectorAll('[data-name="mediavine-gdpr-cmp"] input[type=checkbox]').forEach((x) => x.checked && x.click()) || true,
|
|
103
107
|
EVAL_MICROSOFT_0: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Reject|Ablehnen"))[0].click() || true,
|
|
104
108
|
EVAL_MICROSOFT_1: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Accept|Annehmen"))[0].click() || true,
|
|
@@ -113,6 +117,7 @@
|
|
|
113
117
|
EVAL_PRIMEBOX_0: () => !document.cookie.includes("cb-enabled=accepted"),
|
|
114
118
|
EVAL_PUBTECH_0: () => document.cookie.includes("euconsent-v2") && (document.cookie.match(/.YAAAAAAAAAAA/) || document.cookie.match(/.aAAAAAAAAAAA/) || document.cookie.match(/.YAAACFgAAAAA/)),
|
|
115
119
|
EVAL_REDDIT_0: () => document.cookie.includes("eu_cookie={%22opted%22:true%2C%22nonessential%22:false}"),
|
|
120
|
+
EVAL_ROBLOX_TEST: () => document.cookie.includes("RBXcb"),
|
|
116
121
|
EVAL_SIRDATA_UNBLOCK_SCROLL: () => {
|
|
117
122
|
document.documentElement.classList.forEach((cls) => {
|
|
118
123
|
if (cls.startsWith("sd-cmp-"))
|
|
@@ -493,6 +493,8 @@
|
|
|
493
493
|
},
|
|
494
494
|
EVAL_ONETRUST_1: () => window.OnetrustActiveGroups.split(",").filter((s) => s.length > 0).length <= 1,
|
|
495
495
|
EVAL_TRUSTARC_TOP: () => window && window.truste && window.truste.eu.bindMap.prefCookie === "0",
|
|
496
|
+
EVAL_TRUSTARC_FRAME_TEST: () => window && window.QueryString && window.QueryString.preferences === "0",
|
|
497
|
+
EVAL_TRUSTARC_FRAME_GTM: () => window && window.QueryString && window.QueryString.gtm === "1",
|
|
496
498
|
// declarative rules
|
|
497
499
|
EVAL_ADROLL_0: () => !document.cookie.includes("__adroll_fpc"),
|
|
498
500
|
EVAL_ALMACMP_0: () => document.cookie.includes('"name":"Google","consent":false'),
|
|
@@ -537,6 +539,7 @@
|
|
|
537
539
|
EVAL_EU_COOKIE_LAW_0: () => !document.cookie.includes("euCookie"),
|
|
538
540
|
EVAL_EZOIC_0: () => ezCMP.handleAcceptAllClick(),
|
|
539
541
|
EVAL_EZOIC_1: () => !!document.cookie.match(/ez-consent-tcf/),
|
|
542
|
+
EVAL_FIDES_DETECT_POPUP: () => window.Fides?.initialized,
|
|
540
543
|
EVAL_GOOGLE_0: () => !!document.cookie.match(/SOCS=CAE/),
|
|
541
544
|
EVAL_HEMA_TEST_0: () => document.cookie.includes("cookies_rejected=1"),
|
|
542
545
|
EVAL_IUBENDA_0: () => document.querySelectorAll(".purposes-item input[type=checkbox]:not([disabled])").forEach((x) => {
|
|
@@ -546,6 +549,7 @@
|
|
|
546
549
|
EVAL_IUBENDA_1: () => !!document.cookie.match(/_iub_cs-\d+=/),
|
|
547
550
|
EVAL_IWINK_TEST: () => document.cookie.includes("cookie_permission_granted=no"),
|
|
548
551
|
EVAL_JQUERY_COOKIEBAR_0: () => !document.cookie.includes("cookies-state=accepted"),
|
|
552
|
+
EVAL_KETCH_TEST: () => document.cookie.includes("_ketch_consent_v1_"),
|
|
549
553
|
EVAL_MEDIAVINE_0: () => document.querySelectorAll('[data-name="mediavine-gdpr-cmp"] input[type=checkbox]').forEach((x) => x.checked && x.click()) || true,
|
|
550
554
|
EVAL_MICROSOFT_0: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Reject|Ablehnen"))[0].click() || true,
|
|
551
555
|
EVAL_MICROSOFT_1: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Accept|Annehmen"))[0].click() || true,
|
|
@@ -560,6 +564,7 @@
|
|
|
560
564
|
EVAL_PRIMEBOX_0: () => !document.cookie.includes("cb-enabled=accepted"),
|
|
561
565
|
EVAL_PUBTECH_0: () => document.cookie.includes("euconsent-v2") && (document.cookie.match(/.YAAAAAAAAAAA/) || document.cookie.match(/.aAAAAAAAAAAA/) || document.cookie.match(/.YAAACFgAAAAA/)),
|
|
562
566
|
EVAL_REDDIT_0: () => document.cookie.includes("eu_cookie={%22opted%22:true%2C%22nonessential%22:false}"),
|
|
567
|
+
EVAL_ROBLOX_TEST: () => document.cookie.includes("RBXcb"),
|
|
563
568
|
EVAL_SIRDATA_UNBLOCK_SCROLL: () => {
|
|
564
569
|
document.documentElement.classList.forEach((cls) => {
|
|
565
570
|
if (cls.startsWith("sd-cmp-"))
|
|
@@ -1038,7 +1043,7 @@
|
|
|
1038
1043
|
this._optInDone = false;
|
|
1039
1044
|
}
|
|
1040
1045
|
get hasSelfTest() {
|
|
1041
|
-
return
|
|
1046
|
+
return true;
|
|
1042
1047
|
}
|
|
1043
1048
|
get isIntermediate() {
|
|
1044
1049
|
if (this._optInDone) {
|
|
@@ -1085,6 +1090,7 @@
|
|
|
1085
1090
|
return true;
|
|
1086
1091
|
}
|
|
1087
1092
|
async test() {
|
|
1093
|
+
await this.wait(500);
|
|
1088
1094
|
return await this.mainWorldEval("EVAL_TRUSTARC_TOP");
|
|
1089
1095
|
}
|
|
1090
1096
|
};
|
|
@@ -1101,7 +1107,7 @@
|
|
|
1101
1107
|
};
|
|
1102
1108
|
}
|
|
1103
1109
|
get hasSelfTest() {
|
|
1104
|
-
return
|
|
1110
|
+
return true;
|
|
1105
1111
|
}
|
|
1106
1112
|
get isIntermediate() {
|
|
1107
1113
|
return false;
|
|
@@ -1137,27 +1143,34 @@
|
|
|
1137
1143
|
);
|
|
1138
1144
|
}
|
|
1139
1145
|
async optOut() {
|
|
1146
|
+
if (await this.mainWorldEval("EVAL_TRUSTARC_FRAME_TEST")) {
|
|
1147
|
+
return true;
|
|
1148
|
+
}
|
|
1149
|
+
let timeout = 3e3;
|
|
1150
|
+
if (await this.mainWorldEval("EVAL_TRUSTARC_FRAME_GTM")) {
|
|
1151
|
+
timeout = 1500;
|
|
1152
|
+
}
|
|
1140
1153
|
await waitFor(() => document.readyState === "complete", 20, 100);
|
|
1141
|
-
await this.waitForElement(".mainContent[aria-hidden=false]",
|
|
1154
|
+
await this.waitForElement(".mainContent[aria-hidden=false]", timeout);
|
|
1142
1155
|
if (this.click(".rejectAll")) {
|
|
1143
1156
|
return true;
|
|
1144
1157
|
}
|
|
1145
1158
|
if (this.elementExists(".prefPanel")) {
|
|
1146
|
-
await this.waitForElement('.prefPanel[style="visibility: visible;"]',
|
|
1159
|
+
await this.waitForElement('.prefPanel[style="visibility: visible;"]', timeout);
|
|
1147
1160
|
}
|
|
1148
1161
|
if (this.click("#catDetails0")) {
|
|
1149
1162
|
this.click(".submit");
|
|
1150
|
-
this.waitForThenClick("#gwt-debug-close_id",
|
|
1163
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout);
|
|
1151
1164
|
return true;
|
|
1152
1165
|
}
|
|
1153
1166
|
if (this.click(".required")) {
|
|
1154
|
-
this.waitForThenClick("#gwt-debug-close_id",
|
|
1167
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout);
|
|
1155
1168
|
return true;
|
|
1156
1169
|
}
|
|
1157
1170
|
await this.navigateToSettings();
|
|
1158
1171
|
this.click(".switch span:nth-child(1):not(.active)", true);
|
|
1159
1172
|
this.click(".submit");
|
|
1160
|
-
this.waitForThenClick("#gwt-debug-close_id",
|
|
1173
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout * 10);
|
|
1161
1174
|
return true;
|
|
1162
1175
|
}
|
|
1163
1176
|
async optIn() {
|
|
@@ -1172,6 +1185,10 @@
|
|
|
1172
1185
|
});
|
|
1173
1186
|
return true;
|
|
1174
1187
|
}
|
|
1188
|
+
async test() {
|
|
1189
|
+
await this.wait(500);
|
|
1190
|
+
return await this.mainWorldEval("EVAL_TRUSTARC_FRAME_TEST");
|
|
1191
|
+
}
|
|
1175
1192
|
};
|
|
1176
1193
|
|
|
1177
1194
|
// lib/cmps/cookiebot.ts
|
|
@@ -1420,10 +1437,11 @@
|
|
|
1420
1437
|
if (this.click("#_evidon-decline-button")) {
|
|
1421
1438
|
return true;
|
|
1422
1439
|
}
|
|
1423
|
-
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background");
|
|
1424
|
-
this.
|
|
1440
|
+
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background,#_evidon-background");
|
|
1441
|
+
await this.waitForThenClick("#_evidon-option-button");
|
|
1425
1442
|
await this.waitForElement("#evidon-prefdiag-overlay", 5e3);
|
|
1426
|
-
this.
|
|
1443
|
+
await this.wait(500);
|
|
1444
|
+
await this.waitForThenClick("#evidon-prefdiag-decline");
|
|
1427
1445
|
return true;
|
|
1428
1446
|
}
|
|
1429
1447
|
async optIn() {
|
|
@@ -374,7 +374,6 @@
|
|
|
374
374
|
},
|
|
375
375
|
{
|
|
376
376
|
"name": "aquasana.com",
|
|
377
|
-
"cosmetic": true,
|
|
378
377
|
"prehideSelectors": [
|
|
379
378
|
"#consent-tracking"
|
|
380
379
|
],
|
|
@@ -390,12 +389,24 @@
|
|
|
390
389
|
],
|
|
391
390
|
"optIn": [
|
|
392
391
|
{
|
|
393
|
-
"
|
|
392
|
+
"waitForThenClick": "#consent-tracking .affirm.btn"
|
|
394
393
|
}
|
|
395
394
|
],
|
|
396
395
|
"optOut": [
|
|
397
396
|
{
|
|
398
|
-
"
|
|
397
|
+
"if": {
|
|
398
|
+
"exists": "#consent-tracking .decline.btn"
|
|
399
|
+
},
|
|
400
|
+
"then": [
|
|
401
|
+
{
|
|
402
|
+
"click": "#consent-tracking .decline.btn"
|
|
403
|
+
}
|
|
404
|
+
],
|
|
405
|
+
"else": [
|
|
406
|
+
{
|
|
407
|
+
"hide": "#consent-tracking"
|
|
408
|
+
}
|
|
409
|
+
]
|
|
399
410
|
}
|
|
400
411
|
]
|
|
401
412
|
},
|
|
@@ -1571,7 +1582,20 @@
|
|
|
1571
1582
|
],
|
|
1572
1583
|
"else": [
|
|
1573
1584
|
{
|
|
1574
|
-
"
|
|
1585
|
+
"if": {
|
|
1586
|
+
"exists": ".cmp-pref-link"
|
|
1587
|
+
},
|
|
1588
|
+
"then": [
|
|
1589
|
+
{
|
|
1590
|
+
"click": ".cmp-pref-link"
|
|
1591
|
+
},
|
|
1592
|
+
{
|
|
1593
|
+
"waitForThenClick": ".cmp-body [id*=rejectAll]"
|
|
1594
|
+
},
|
|
1595
|
+
{
|
|
1596
|
+
"waitForThenClick": ".cmp-body .cmp-save-btn"
|
|
1597
|
+
}
|
|
1598
|
+
]
|
|
1575
1599
|
}
|
|
1576
1600
|
]
|
|
1577
1601
|
}
|
|
@@ -1965,6 +1989,51 @@
|
|
|
1965
1989
|
}
|
|
1966
1990
|
]
|
|
1967
1991
|
},
|
|
1992
|
+
{
|
|
1993
|
+
"name": "cookiecuttr",
|
|
1994
|
+
"vendorUrl": "https://github.com/cdwharton/cookieCuttr",
|
|
1995
|
+
"cosmetic": false,
|
|
1996
|
+
"runContext": {
|
|
1997
|
+
"main": true,
|
|
1998
|
+
"frame": false,
|
|
1999
|
+
"urlPattern": ""
|
|
2000
|
+
},
|
|
2001
|
+
"prehideSelectors": [
|
|
2002
|
+
".cc-cookies"
|
|
2003
|
+
],
|
|
2004
|
+
"detectCmp": [
|
|
2005
|
+
{
|
|
2006
|
+
"exists": ".cc-cookies .cc-cookie-accept"
|
|
2007
|
+
}
|
|
2008
|
+
],
|
|
2009
|
+
"detectPopup": [
|
|
2010
|
+
{
|
|
2011
|
+
"visible": ".cc-cookies .cc-cookie-accept"
|
|
2012
|
+
}
|
|
2013
|
+
],
|
|
2014
|
+
"optIn": [
|
|
2015
|
+
{
|
|
2016
|
+
"waitForThenClick": ".cc-cookies .cc-cookie-accept"
|
|
2017
|
+
}
|
|
2018
|
+
],
|
|
2019
|
+
"optOut": [
|
|
2020
|
+
{
|
|
2021
|
+
"if": {
|
|
2022
|
+
"exists": ".cc-cookies .cc-cookie-decline"
|
|
2023
|
+
},
|
|
2024
|
+
"then": [
|
|
2025
|
+
{
|
|
2026
|
+
"click": ".cc-cookies .cc-cookie-decline"
|
|
2027
|
+
}
|
|
2028
|
+
],
|
|
2029
|
+
"else": [
|
|
2030
|
+
{
|
|
2031
|
+
"hide": ".cc-cookies"
|
|
2032
|
+
}
|
|
2033
|
+
]
|
|
2034
|
+
}
|
|
2035
|
+
]
|
|
2036
|
+
},
|
|
1968
2037
|
{
|
|
1969
2038
|
"name": "cookiefirst.com",
|
|
1970
2039
|
"prehideSelectors": [
|
|
@@ -2884,16 +2953,19 @@
|
|
|
2884
2953
|
"detectPopup": [
|
|
2885
2954
|
{
|
|
2886
2955
|
"visible": "#fides-overlay #fides-banner"
|
|
2956
|
+
},
|
|
2957
|
+
{
|
|
2958
|
+
"eval": "EVAL_FIDES_DETECT_POPUP"
|
|
2887
2959
|
}
|
|
2888
2960
|
],
|
|
2889
2961
|
"optIn": [
|
|
2890
2962
|
{
|
|
2891
|
-
"waitForThenClick": "#fides-banner
|
|
2963
|
+
"waitForThenClick": "#fides-banner .fides-accept-all-button"
|
|
2892
2964
|
}
|
|
2893
2965
|
],
|
|
2894
2966
|
"optOut": [
|
|
2895
2967
|
{
|
|
2896
|
-
"waitForThenClick": "#fides-banner
|
|
2968
|
+
"waitForThenClick": "#fides-banner .fides-reject-all-button"
|
|
2897
2969
|
}
|
|
2898
2970
|
]
|
|
2899
2971
|
},
|
|
@@ -3376,7 +3448,7 @@
|
|
|
3376
3448
|
"urlPattern": "^https://www\\.instagram\\.com/"
|
|
3377
3449
|
},
|
|
3378
3450
|
"prehideSelectors": [
|
|
3379
|
-
".x78zum5.xdt5ytf.xg6iff7.x1n2onr6"
|
|
3451
|
+
".x78zum5.xdt5ytf.xg6iff7.x1n2onr6:has(._a9--)"
|
|
3380
3452
|
],
|
|
3381
3453
|
"detectCmp": [
|
|
3382
3454
|
{
|
|
@@ -3738,29 +3810,34 @@
|
|
|
3738
3810
|
},
|
|
3739
3811
|
"then": [
|
|
3740
3812
|
{
|
|
3741
|
-
"waitForThenClick": "#lanyard_root div[class*=buttons] > button[class*=secondaryButton]",
|
|
3813
|
+
"waitForThenClick": "#lanyard_root div[class*=buttons] > button[class*=secondaryButton], #lanyard_root button[class*=buttons-secondary]",
|
|
3742
3814
|
"comment": "can be either settings or reject button"
|
|
3743
3815
|
}
|
|
3744
3816
|
]
|
|
3745
3817
|
},
|
|
3746
3818
|
{
|
|
3747
|
-
"waitFor": "#lanyard_root [aria-describedby=preference-description],#lanyard_root [aria-describedby=modal-description]",
|
|
3819
|
+
"waitFor": "#lanyard_root [aria-describedby=preference-description],#lanyard_root [aria-describedby=modal-description], #ketch-preferences",
|
|
3748
3820
|
"timeout": 1000,
|
|
3749
3821
|
"optional": true
|
|
3750
3822
|
},
|
|
3751
3823
|
{
|
|
3752
3824
|
"if": {
|
|
3753
|
-
"exists": "#lanyard_root [aria-describedby=preference-description],#lanyard_root [aria-describedby=modal-description]"
|
|
3825
|
+
"exists": "#lanyard_root [aria-describedby=preference-description],#lanyard_root [aria-describedby=modal-description], #ketch-preferences"
|
|
3754
3826
|
},
|
|
3755
3827
|
"then": [
|
|
3756
3828
|
{
|
|
3757
|
-
"waitForThenClick": "#lanyard_root button[class*=rejectButton]"
|
|
3829
|
+
"waitForThenClick": "#lanyard_root button[class*=rejectButton], #lanyard_root button[class*=rejectAllButton]"
|
|
3758
3830
|
},
|
|
3759
3831
|
{
|
|
3760
|
-
"click": "#lanyard_root button[class*=confirmButton],#lanyard_root div[class*=actions_] > button:nth-child(1)"
|
|
3832
|
+
"click": "#lanyard_root button[class*=confirmButton],#lanyard_root div[class*=actions_] > button:nth-child(1), #lanyard_root button[class*=actionButton]"
|
|
3761
3833
|
}
|
|
3762
3834
|
]
|
|
3763
3835
|
}
|
|
3836
|
+
],
|
|
3837
|
+
"test": [
|
|
3838
|
+
{
|
|
3839
|
+
"eval": "EVAL_KETCH_TEST"
|
|
3840
|
+
}
|
|
3764
3841
|
]
|
|
3765
3842
|
},
|
|
3766
3843
|
{
|
|
@@ -5162,6 +5239,42 @@
|
|
|
5162
5239
|
}
|
|
5163
5240
|
]
|
|
5164
5241
|
},
|
|
5242
|
+
{
|
|
5243
|
+
"name": "roblox",
|
|
5244
|
+
"vendorUrl": "https://roblox.com",
|
|
5245
|
+
"cosmetic": false,
|
|
5246
|
+
"runContext": {
|
|
5247
|
+
"main": true,
|
|
5248
|
+
"frame": false,
|
|
5249
|
+
"urlPattern": "^https://(www\\.)?roblox\\.com/"
|
|
5250
|
+
},
|
|
5251
|
+
"prehideSelectors": [],
|
|
5252
|
+
"detectCmp": [
|
|
5253
|
+
{
|
|
5254
|
+
"exists": ".cookie-banner-wrapper"
|
|
5255
|
+
}
|
|
5256
|
+
],
|
|
5257
|
+
"detectPopup": [
|
|
5258
|
+
{
|
|
5259
|
+
"visible": ".cookie-banner-wrapper .cookie-banner"
|
|
5260
|
+
}
|
|
5261
|
+
],
|
|
5262
|
+
"optIn": [
|
|
5263
|
+
{
|
|
5264
|
+
"waitForThenClick": ".cookie-banner-wrapper button.btn-cta-lg"
|
|
5265
|
+
}
|
|
5266
|
+
],
|
|
5267
|
+
"optOut": [
|
|
5268
|
+
{
|
|
5269
|
+
"waitForThenClick": ".cookie-banner-wrapper button.btn-secondary-lg"
|
|
5270
|
+
}
|
|
5271
|
+
],
|
|
5272
|
+
"test": [
|
|
5273
|
+
{
|
|
5274
|
+
"eval": "EVAL_ROBLOX_TEST"
|
|
5275
|
+
}
|
|
5276
|
+
]
|
|
5277
|
+
},
|
|
5165
5278
|
{
|
|
5166
5279
|
"name": "rog-forum.asus.com",
|
|
5167
5280
|
"runContext": {
|
|
@@ -6583,27 +6696,32 @@
|
|
|
6583
6696
|
},
|
|
6584
6697
|
{
|
|
6585
6698
|
"name": "uswitch.com",
|
|
6699
|
+
"runContext": {
|
|
6700
|
+
"main": true,
|
|
6701
|
+
"frame": false,
|
|
6702
|
+
"urlPattern": "^https://(www\\.)?uswitch\\.com/"
|
|
6703
|
+
},
|
|
6586
6704
|
"prehideSelectors": [
|
|
6587
|
-
"
|
|
6705
|
+
".ucb"
|
|
6588
6706
|
],
|
|
6589
6707
|
"detectCmp": [
|
|
6590
6708
|
{
|
|
6591
|
-
"exists": "
|
|
6709
|
+
"exists": ".ucb-banner"
|
|
6592
6710
|
}
|
|
6593
6711
|
],
|
|
6594
6712
|
"detectPopup": [
|
|
6595
6713
|
{
|
|
6596
|
-
"visible": "
|
|
6714
|
+
"visible": ".ucb-banner"
|
|
6597
6715
|
}
|
|
6598
6716
|
],
|
|
6599
6717
|
"optIn": [
|
|
6600
6718
|
{
|
|
6601
|
-
"
|
|
6719
|
+
"waitForThenClick": ".ucb-banner .ucb-btn-accept"
|
|
6602
6720
|
}
|
|
6603
6721
|
],
|
|
6604
6722
|
"optOut": [
|
|
6605
6723
|
{
|
|
6606
|
-
"
|
|
6724
|
+
"waitForThenClick": ".ucb-banner .ucb-btn-save"
|
|
6607
6725
|
}
|
|
6608
6726
|
]
|
|
6609
6727
|
},
|
|
@@ -46,6 +46,8 @@
|
|
|
46
46
|
},
|
|
47
47
|
EVAL_ONETRUST_1: () => window.OnetrustActiveGroups.split(",").filter((s) => s.length > 0).length <= 1,
|
|
48
48
|
EVAL_TRUSTARC_TOP: () => window && window.truste && window.truste.eu.bindMap.prefCookie === "0",
|
|
49
|
+
EVAL_TRUSTARC_FRAME_TEST: () => window && window.QueryString && window.QueryString.preferences === "0",
|
|
50
|
+
EVAL_TRUSTARC_FRAME_GTM: () => window && window.QueryString && window.QueryString.gtm === "1",
|
|
49
51
|
// declarative rules
|
|
50
52
|
EVAL_ADROLL_0: () => !document.cookie.includes("__adroll_fpc"),
|
|
51
53
|
EVAL_ALMACMP_0: () => document.cookie.includes('"name":"Google","consent":false'),
|
|
@@ -90,6 +92,7 @@
|
|
|
90
92
|
EVAL_EU_COOKIE_LAW_0: () => !document.cookie.includes("euCookie"),
|
|
91
93
|
EVAL_EZOIC_0: () => ezCMP.handleAcceptAllClick(),
|
|
92
94
|
EVAL_EZOIC_1: () => !!document.cookie.match(/ez-consent-tcf/),
|
|
95
|
+
EVAL_FIDES_DETECT_POPUP: () => window.Fides?.initialized,
|
|
93
96
|
EVAL_GOOGLE_0: () => !!document.cookie.match(/SOCS=CAE/),
|
|
94
97
|
EVAL_HEMA_TEST_0: () => document.cookie.includes("cookies_rejected=1"),
|
|
95
98
|
EVAL_IUBENDA_0: () => document.querySelectorAll(".purposes-item input[type=checkbox]:not([disabled])").forEach((x) => {
|
|
@@ -99,6 +102,7 @@
|
|
|
99
102
|
EVAL_IUBENDA_1: () => !!document.cookie.match(/_iub_cs-\d+=/),
|
|
100
103
|
EVAL_IWINK_TEST: () => document.cookie.includes("cookie_permission_granted=no"),
|
|
101
104
|
EVAL_JQUERY_COOKIEBAR_0: () => !document.cookie.includes("cookies-state=accepted"),
|
|
105
|
+
EVAL_KETCH_TEST: () => document.cookie.includes("_ketch_consent_v1_"),
|
|
102
106
|
EVAL_MEDIAVINE_0: () => document.querySelectorAll('[data-name="mediavine-gdpr-cmp"] input[type=checkbox]').forEach((x) => x.checked && x.click()) || true,
|
|
103
107
|
EVAL_MICROSOFT_0: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Reject|Ablehnen"))[0].click() || true,
|
|
104
108
|
EVAL_MICROSOFT_1: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Accept|Annehmen"))[0].click() || true,
|
|
@@ -113,6 +117,7 @@
|
|
|
113
117
|
EVAL_PRIMEBOX_0: () => !document.cookie.includes("cb-enabled=accepted"),
|
|
114
118
|
EVAL_PUBTECH_0: () => document.cookie.includes("euconsent-v2") && (document.cookie.match(/.YAAAAAAAAAAA/) || document.cookie.match(/.aAAAAAAAAAAA/) || document.cookie.match(/.YAAACFgAAAAA/)),
|
|
115
119
|
EVAL_REDDIT_0: () => document.cookie.includes("eu_cookie={%22opted%22:true%2C%22nonessential%22:false}"),
|
|
120
|
+
EVAL_ROBLOX_TEST: () => document.cookie.includes("RBXcb"),
|
|
116
121
|
EVAL_SIRDATA_UNBLOCK_SCROLL: () => {
|
|
117
122
|
document.documentElement.classList.forEach((cls) => {
|
|
118
123
|
if (cls.startsWith("sd-cmp-"))
|
|
@@ -493,6 +493,8 @@
|
|
|
493
493
|
},
|
|
494
494
|
EVAL_ONETRUST_1: () => window.OnetrustActiveGroups.split(",").filter((s) => s.length > 0).length <= 1,
|
|
495
495
|
EVAL_TRUSTARC_TOP: () => window && window.truste && window.truste.eu.bindMap.prefCookie === "0",
|
|
496
|
+
EVAL_TRUSTARC_FRAME_TEST: () => window && window.QueryString && window.QueryString.preferences === "0",
|
|
497
|
+
EVAL_TRUSTARC_FRAME_GTM: () => window && window.QueryString && window.QueryString.gtm === "1",
|
|
496
498
|
// declarative rules
|
|
497
499
|
EVAL_ADROLL_0: () => !document.cookie.includes("__adroll_fpc"),
|
|
498
500
|
EVAL_ALMACMP_0: () => document.cookie.includes('"name":"Google","consent":false'),
|
|
@@ -537,6 +539,7 @@
|
|
|
537
539
|
EVAL_EU_COOKIE_LAW_0: () => !document.cookie.includes("euCookie"),
|
|
538
540
|
EVAL_EZOIC_0: () => ezCMP.handleAcceptAllClick(),
|
|
539
541
|
EVAL_EZOIC_1: () => !!document.cookie.match(/ez-consent-tcf/),
|
|
542
|
+
EVAL_FIDES_DETECT_POPUP: () => window.Fides?.initialized,
|
|
540
543
|
EVAL_GOOGLE_0: () => !!document.cookie.match(/SOCS=CAE/),
|
|
541
544
|
EVAL_HEMA_TEST_0: () => document.cookie.includes("cookies_rejected=1"),
|
|
542
545
|
EVAL_IUBENDA_0: () => document.querySelectorAll(".purposes-item input[type=checkbox]:not([disabled])").forEach((x) => {
|
|
@@ -546,6 +549,7 @@
|
|
|
546
549
|
EVAL_IUBENDA_1: () => !!document.cookie.match(/_iub_cs-\d+=/),
|
|
547
550
|
EVAL_IWINK_TEST: () => document.cookie.includes("cookie_permission_granted=no"),
|
|
548
551
|
EVAL_JQUERY_COOKIEBAR_0: () => !document.cookie.includes("cookies-state=accepted"),
|
|
552
|
+
EVAL_KETCH_TEST: () => document.cookie.includes("_ketch_consent_v1_"),
|
|
549
553
|
EVAL_MEDIAVINE_0: () => document.querySelectorAll('[data-name="mediavine-gdpr-cmp"] input[type=checkbox]').forEach((x) => x.checked && x.click()) || true,
|
|
550
554
|
EVAL_MICROSOFT_0: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Reject|Ablehnen"))[0].click() || true,
|
|
551
555
|
EVAL_MICROSOFT_1: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Accept|Annehmen"))[0].click() || true,
|
|
@@ -560,6 +564,7 @@
|
|
|
560
564
|
EVAL_PRIMEBOX_0: () => !document.cookie.includes("cb-enabled=accepted"),
|
|
561
565
|
EVAL_PUBTECH_0: () => document.cookie.includes("euconsent-v2") && (document.cookie.match(/.YAAAAAAAAAAA/) || document.cookie.match(/.aAAAAAAAAAAA/) || document.cookie.match(/.YAAACFgAAAAA/)),
|
|
562
566
|
EVAL_REDDIT_0: () => document.cookie.includes("eu_cookie={%22opted%22:true%2C%22nonessential%22:false}"),
|
|
567
|
+
EVAL_ROBLOX_TEST: () => document.cookie.includes("RBXcb"),
|
|
563
568
|
EVAL_SIRDATA_UNBLOCK_SCROLL: () => {
|
|
564
569
|
document.documentElement.classList.forEach((cls) => {
|
|
565
570
|
if (cls.startsWith("sd-cmp-"))
|
|
@@ -1038,7 +1043,7 @@
|
|
|
1038
1043
|
this._optInDone = false;
|
|
1039
1044
|
}
|
|
1040
1045
|
get hasSelfTest() {
|
|
1041
|
-
return
|
|
1046
|
+
return true;
|
|
1042
1047
|
}
|
|
1043
1048
|
get isIntermediate() {
|
|
1044
1049
|
if (this._optInDone) {
|
|
@@ -1085,6 +1090,7 @@
|
|
|
1085
1090
|
return true;
|
|
1086
1091
|
}
|
|
1087
1092
|
async test() {
|
|
1093
|
+
await this.wait(500);
|
|
1088
1094
|
return await this.mainWorldEval("EVAL_TRUSTARC_TOP");
|
|
1089
1095
|
}
|
|
1090
1096
|
};
|
|
@@ -1101,7 +1107,7 @@
|
|
|
1101
1107
|
};
|
|
1102
1108
|
}
|
|
1103
1109
|
get hasSelfTest() {
|
|
1104
|
-
return
|
|
1110
|
+
return true;
|
|
1105
1111
|
}
|
|
1106
1112
|
get isIntermediate() {
|
|
1107
1113
|
return false;
|
|
@@ -1137,27 +1143,34 @@
|
|
|
1137
1143
|
);
|
|
1138
1144
|
}
|
|
1139
1145
|
async optOut() {
|
|
1146
|
+
if (await this.mainWorldEval("EVAL_TRUSTARC_FRAME_TEST")) {
|
|
1147
|
+
return true;
|
|
1148
|
+
}
|
|
1149
|
+
let timeout = 3e3;
|
|
1150
|
+
if (await this.mainWorldEval("EVAL_TRUSTARC_FRAME_GTM")) {
|
|
1151
|
+
timeout = 1500;
|
|
1152
|
+
}
|
|
1140
1153
|
await waitFor(() => document.readyState === "complete", 20, 100);
|
|
1141
|
-
await this.waitForElement(".mainContent[aria-hidden=false]",
|
|
1154
|
+
await this.waitForElement(".mainContent[aria-hidden=false]", timeout);
|
|
1142
1155
|
if (this.click(".rejectAll")) {
|
|
1143
1156
|
return true;
|
|
1144
1157
|
}
|
|
1145
1158
|
if (this.elementExists(".prefPanel")) {
|
|
1146
|
-
await this.waitForElement('.prefPanel[style="visibility: visible;"]',
|
|
1159
|
+
await this.waitForElement('.prefPanel[style="visibility: visible;"]', timeout);
|
|
1147
1160
|
}
|
|
1148
1161
|
if (this.click("#catDetails0")) {
|
|
1149
1162
|
this.click(".submit");
|
|
1150
|
-
this.waitForThenClick("#gwt-debug-close_id",
|
|
1163
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout);
|
|
1151
1164
|
return true;
|
|
1152
1165
|
}
|
|
1153
1166
|
if (this.click(".required")) {
|
|
1154
|
-
this.waitForThenClick("#gwt-debug-close_id",
|
|
1167
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout);
|
|
1155
1168
|
return true;
|
|
1156
1169
|
}
|
|
1157
1170
|
await this.navigateToSettings();
|
|
1158
1171
|
this.click(".switch span:nth-child(1):not(.active)", true);
|
|
1159
1172
|
this.click(".submit");
|
|
1160
|
-
this.waitForThenClick("#gwt-debug-close_id",
|
|
1173
|
+
this.waitForThenClick("#gwt-debug-close_id", timeout * 10);
|
|
1161
1174
|
return true;
|
|
1162
1175
|
}
|
|
1163
1176
|
async optIn() {
|
|
@@ -1172,6 +1185,10 @@
|
|
|
1172
1185
|
});
|
|
1173
1186
|
return true;
|
|
1174
1187
|
}
|
|
1188
|
+
async test() {
|
|
1189
|
+
await this.wait(500);
|
|
1190
|
+
return await this.mainWorldEval("EVAL_TRUSTARC_FRAME_TEST");
|
|
1191
|
+
}
|
|
1175
1192
|
};
|
|
1176
1193
|
|
|
1177
1194
|
// lib/cmps/cookiebot.ts
|
|
@@ -1420,10 +1437,11 @@
|
|
|
1420
1437
|
if (this.click("#_evidon-decline-button")) {
|
|
1421
1438
|
return true;
|
|
1422
1439
|
}
|
|
1423
|
-
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background");
|
|
1424
|
-
this.
|
|
1440
|
+
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background,#_evidon-background");
|
|
1441
|
+
await this.waitForThenClick("#_evidon-option-button");
|
|
1425
1442
|
await this.waitForElement("#evidon-prefdiag-overlay", 5e3);
|
|
1426
|
-
this.
|
|
1443
|
+
await this.wait(500);
|
|
1444
|
+
await this.waitForThenClick("#evidon-prefdiag-decline");
|
|
1427
1445
|
return true;
|
|
1428
1446
|
}
|
|
1429
1447
|
async optIn() {
|