@duckduckgo/autoconsent 10.8.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 +31 -0
- package/ci/asana-create-tasks.js +2 -2
- package/ci/clients_pr_template.md +3 -0
- package/dist/addon-firefox/background.bundle.js +3 -0
- package/dist/addon-firefox/content.bundle.js +7 -3
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/rules.json +134 -16
- package/dist/addon-mv3/background.bundle.js +3 -0
- package/dist/addon-mv3/content.bundle.js +7 -3
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/rules.json +134 -16
- package/dist/autoconsent.cjs.js +7 -3
- package/dist/autoconsent.esm.js +7 -3
- package/dist/autoconsent.playwright.js +1 -1
- package/dist/autoconsent.unit.js +141 -19
- package/lib/cmps/evidon.ts +4 -3
- package/lib/eval-snippets.ts +3 -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/ketch.json +8 -5
- package/rules/autoconsent/roblox.json +36 -0
- package/rules/autoconsent/uswitch.json +10 -5
- package/rules/rules.json +134 -16
- 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
|
@@ -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
|
},
|
|
@@ -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
|
},
|
package/dist/autoconsent.cjs.js
CHANGED
|
@@ -562,6 +562,7 @@ var snippets = {
|
|
|
562
562
|
EVAL_EU_COOKIE_LAW_0: () => !document.cookie.includes("euCookie"),
|
|
563
563
|
EVAL_EZOIC_0: () => ezCMP.handleAcceptAllClick(),
|
|
564
564
|
EVAL_EZOIC_1: () => !!document.cookie.match(/ez-consent-tcf/),
|
|
565
|
+
EVAL_FIDES_DETECT_POPUP: () => window.Fides?.initialized,
|
|
565
566
|
EVAL_GOOGLE_0: () => !!document.cookie.match(/SOCS=CAE/),
|
|
566
567
|
EVAL_HEMA_TEST_0: () => document.cookie.includes("cookies_rejected=1"),
|
|
567
568
|
EVAL_IUBENDA_0: () => document.querySelectorAll(".purposes-item input[type=checkbox]:not([disabled])").forEach((x) => {
|
|
@@ -571,6 +572,7 @@ var snippets = {
|
|
|
571
572
|
EVAL_IUBENDA_1: () => !!document.cookie.match(/_iub_cs-\d+=/),
|
|
572
573
|
EVAL_IWINK_TEST: () => document.cookie.includes("cookie_permission_granted=no"),
|
|
573
574
|
EVAL_JQUERY_COOKIEBAR_0: () => !document.cookie.includes("cookies-state=accepted"),
|
|
575
|
+
EVAL_KETCH_TEST: () => document.cookie.includes("_ketch_consent_v1_"),
|
|
574
576
|
EVAL_MEDIAVINE_0: () => document.querySelectorAll('[data-name="mediavine-gdpr-cmp"] input[type=checkbox]').forEach((x) => x.checked && x.click()) || true,
|
|
575
577
|
EVAL_MICROSOFT_0: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Reject|Ablehnen"))[0].click() || true,
|
|
576
578
|
EVAL_MICROSOFT_1: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Accept|Annehmen"))[0].click() || true,
|
|
@@ -585,6 +587,7 @@ var snippets = {
|
|
|
585
587
|
EVAL_PRIMEBOX_0: () => !document.cookie.includes("cb-enabled=accepted"),
|
|
586
588
|
EVAL_PUBTECH_0: () => document.cookie.includes("euconsent-v2") && (document.cookie.match(/.YAAAAAAAAAAA/) || document.cookie.match(/.aAAAAAAAAAAA/) || document.cookie.match(/.YAAACFgAAAAA/)),
|
|
587
589
|
EVAL_REDDIT_0: () => document.cookie.includes("eu_cookie={%22opted%22:true%2C%22nonessential%22:false}"),
|
|
590
|
+
EVAL_ROBLOX_TEST: () => document.cookie.includes("RBXcb"),
|
|
588
591
|
EVAL_SIRDATA_UNBLOCK_SCROLL: () => {
|
|
589
592
|
document.documentElement.classList.forEach((cls) => {
|
|
590
593
|
if (cls.startsWith("sd-cmp-"))
|
|
@@ -1457,10 +1460,11 @@ var Evidon = class extends AutoConsentCMPBase {
|
|
|
1457
1460
|
if (this.click("#_evidon-decline-button")) {
|
|
1458
1461
|
return true;
|
|
1459
1462
|
}
|
|
1460
|
-
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background");
|
|
1461
|
-
this.
|
|
1463
|
+
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background,#_evidon-background");
|
|
1464
|
+
await this.waitForThenClick("#_evidon-option-button");
|
|
1462
1465
|
await this.waitForElement("#evidon-prefdiag-overlay", 5e3);
|
|
1463
|
-
this.
|
|
1466
|
+
await this.wait(500);
|
|
1467
|
+
await this.waitForThenClick("#evidon-prefdiag-decline");
|
|
1464
1468
|
return true;
|
|
1465
1469
|
}
|
|
1466
1470
|
async optIn() {
|
package/dist/autoconsent.esm.js
CHANGED
|
@@ -537,6 +537,7 @@ var snippets = {
|
|
|
537
537
|
EVAL_EU_COOKIE_LAW_0: () => !document.cookie.includes("euCookie"),
|
|
538
538
|
EVAL_EZOIC_0: () => ezCMP.handleAcceptAllClick(),
|
|
539
539
|
EVAL_EZOIC_1: () => !!document.cookie.match(/ez-consent-tcf/),
|
|
540
|
+
EVAL_FIDES_DETECT_POPUP: () => window.Fides?.initialized,
|
|
540
541
|
EVAL_GOOGLE_0: () => !!document.cookie.match(/SOCS=CAE/),
|
|
541
542
|
EVAL_HEMA_TEST_0: () => document.cookie.includes("cookies_rejected=1"),
|
|
542
543
|
EVAL_IUBENDA_0: () => document.querySelectorAll(".purposes-item input[type=checkbox]:not([disabled])").forEach((x) => {
|
|
@@ -546,6 +547,7 @@ var snippets = {
|
|
|
546
547
|
EVAL_IUBENDA_1: () => !!document.cookie.match(/_iub_cs-\d+=/),
|
|
547
548
|
EVAL_IWINK_TEST: () => document.cookie.includes("cookie_permission_granted=no"),
|
|
548
549
|
EVAL_JQUERY_COOKIEBAR_0: () => !document.cookie.includes("cookies-state=accepted"),
|
|
550
|
+
EVAL_KETCH_TEST: () => document.cookie.includes("_ketch_consent_v1_"),
|
|
549
551
|
EVAL_MEDIAVINE_0: () => document.querySelectorAll('[data-name="mediavine-gdpr-cmp"] input[type=checkbox]').forEach((x) => x.checked && x.click()) || true,
|
|
550
552
|
EVAL_MICROSOFT_0: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Reject|Ablehnen"))[0].click() || true,
|
|
551
553
|
EVAL_MICROSOFT_1: () => Array.from(document.querySelectorAll("div > button")).filter((el) => el.innerText.match("Accept|Annehmen"))[0].click() || true,
|
|
@@ -560,6 +562,7 @@ var snippets = {
|
|
|
560
562
|
EVAL_PRIMEBOX_0: () => !document.cookie.includes("cb-enabled=accepted"),
|
|
561
563
|
EVAL_PUBTECH_0: () => document.cookie.includes("euconsent-v2") && (document.cookie.match(/.YAAAAAAAAAAA/) || document.cookie.match(/.aAAAAAAAAAAA/) || document.cookie.match(/.YAAACFgAAAAA/)),
|
|
562
564
|
EVAL_REDDIT_0: () => document.cookie.includes("eu_cookie={%22opted%22:true%2C%22nonessential%22:false}"),
|
|
565
|
+
EVAL_ROBLOX_TEST: () => document.cookie.includes("RBXcb"),
|
|
563
566
|
EVAL_SIRDATA_UNBLOCK_SCROLL: () => {
|
|
564
567
|
document.documentElement.classList.forEach((cls) => {
|
|
565
568
|
if (cls.startsWith("sd-cmp-"))
|
|
@@ -1432,10 +1435,11 @@ var Evidon = class extends AutoConsentCMPBase {
|
|
|
1432
1435
|
if (this.click("#_evidon-decline-button")) {
|
|
1433
1436
|
return true;
|
|
1434
1437
|
}
|
|
1435
|
-
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background");
|
|
1436
|
-
this.
|
|
1438
|
+
hideElements(getStyleElement(), "#evidon-prefdiag-overlay,#evidon-prefdiag-background,#_evidon-background");
|
|
1439
|
+
await this.waitForThenClick("#_evidon-option-button");
|
|
1437
1440
|
await this.waitForElement("#evidon-prefdiag-overlay", 5e3);
|
|
1438
|
-
this.
|
|
1441
|
+
await this.wait(500);
|
|
1442
|
+
await this.waitForThenClick("#evidon-prefdiag-decline");
|
|
1439
1443
|
return true;
|
|
1440
1444
|
}
|
|
1441
1445
|
async optIn() {
|