@duckduckgo/autoconsent 12.6.0 → 12.7.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.
Files changed (41) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/addon-firefox/background.bundle.js +0 -1
  3. package/dist/addon-firefox/content.bundle.js +7 -5
  4. package/dist/addon-firefox/manifest.json +1 -1
  5. package/dist/addon-firefox/rules.json +76 -174
  6. package/dist/addon-mv3/background.bundle.js +0 -1
  7. package/dist/addon-mv3/content.bundle.js +7 -5
  8. package/dist/addon-mv3/manifest.json +1 -1
  9. package/dist/addon-mv3/rules.json +76 -174
  10. package/dist/autoconsent.cjs.js +5 -3
  11. package/dist/autoconsent.esm.js +5 -3
  12. package/dist/autoconsent.extra.cjs.js +7 -5
  13. package/dist/autoconsent.extra.esm.js +7 -5
  14. package/dist/autoconsent.playwright.js +83 -179
  15. package/lib/cmps/sourcepoint-frame.ts +11 -3
  16. package/lib/eval-snippets.ts +0 -1
  17. package/lib/filterlist-engine.ts +2 -2
  18. package/package.json +1 -1
  19. package/rules/autoconsent/aa.json +0 -6
  20. package/rules/autoconsent/affinity-serif-com.json +3 -17
  21. package/rules/autoconsent/consent-manager.json +36 -0
  22. package/rules/autoconsent/dpgmedia-nl.json +6 -6
  23. package/rules/autoconsent/ef-ccpa.json +29 -0
  24. package/rules/filterlist.txt +79 -418
  25. package/rules/rules.json +76 -174
  26. package/tests/aa.spec.ts +3 -1
  27. package/tests/admiral.spec.ts +1 -9
  28. package/tests/adroll.spec.ts +0 -2
  29. package/tests/aquasana-com.spec.ts +1 -5
  30. package/tests/consent-manager.spec.ts +3 -0
  31. package/tests/ef-ccpa.spec.ts +3 -0
  32. package/rules/autoconsent/192.json +0 -15
  33. package/rules/autoconsent/1password-com.json +0 -9
  34. package/rules/autoconsent/agolde-com.json +0 -9
  35. package/rules/autoconsent/almacmp.json +0 -13
  36. package/rules/autoconsent/altium-com.json +0 -9
  37. package/tests/192.spec.ts +0 -5
  38. package/tests/1password-com.spec.ts +0 -3
  39. package/tests/agolde-com.spec.ts +0 -3
  40. package/tests/almacmp.spec.ts +0 -3
  41. package/tests/altium-com.spec.ts +0 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "Autoconsent",
4
- "version": "2025.1.10",
4
+ "version": "2025.1.17",
5
5
  "background": {
6
6
  "service_worker": "background.bundle.js"
7
7
  },
@@ -1,63 +1,5 @@
1
1
  {
2
2
  "autoconsent": [
3
- {
4
- "name": "192.com",
5
- "detectCmp": [
6
- {
7
- "exists": ".ont-cookies"
8
- }
9
- ],
10
- "detectPopup": [
11
- {
12
- "visible": ".ont-cookies"
13
- }
14
- ],
15
- "optIn": [
16
- {
17
- "click": ".ont-btn-main.ont-cookies-btn.js-ont-btn-ok2"
18
- }
19
- ],
20
- "optOut": [
21
- {
22
- "click": ".ont-cookes-btn-manage"
23
- },
24
- {
25
- "click": ".ont-btn-main.ont-cookies-btn.js-ont-btn-choose"
26
- }
27
- ],
28
- "test": [
29
- {
30
- "eval": "EVAL_ONENINETWO_0"
31
- }
32
- ]
33
- },
34
- {
35
- "name": "1password-com",
36
- "cosmetic": true,
37
- "prehideSelectors": [
38
- "footer #footer-root [aria-label=\"Cookie Consent\"]"
39
- ],
40
- "detectCmp": [
41
- {
42
- "exists": "footer #footer-root [aria-label=\"Cookie Consent\"]"
43
- }
44
- ],
45
- "detectPopup": [
46
- {
47
- "visible": "footer #footer-root [aria-label=\"Cookie Consent\"]"
48
- }
49
- ],
50
- "optIn": [
51
- {
52
- "click": "footer #footer-root [aria-label=\"Cookie Consent\"] button"
53
- }
54
- ],
55
- "optOut": [
56
- {
57
- "hide": "footer #footer-root [aria-label=\"Cookie Consent\"]"
58
- }
59
- ]
60
- },
61
3
  {
62
4
  "name": "aa",
63
5
  "vendorUrl": "https://aa.com",
@@ -76,12 +18,6 @@
76
18
  "optIn": [
77
19
  {
78
20
  "hide": "#aa_optoutmulti-Modal,#cookieBannerMessage"
79
- },
80
- {
81
- "waitForThenClick": "#aa_optoutmulti_checkBox"
82
- },
83
- {
84
- "waitForThenClick": "#aa_optoutmulti-Modal button.optoutmulti_button"
85
21
  }
86
22
  ],
87
23
  "optOut": [
@@ -270,12 +206,12 @@
270
206
  "name": "affinity.serif.com",
271
207
  "detectCmp": [
272
208
  {
273
- "exists": ".c-cookie-banner button[data-qa='allow-all-cookies']"
209
+ "exists": ".c-cookie-notice button[data-qa='allow-all-cookies']"
274
210
  }
275
211
  ],
276
212
  "detectPopup": [
277
213
  {
278
- "visible": ".c-cookie-banner"
214
+ "visible": ".c-cookie-notice"
279
215
  }
280
216
  ],
281
217
  "optIn": [
@@ -285,17 +221,7 @@
285
221
  ],
286
222
  "optOut": [
287
223
  {
288
- "click": "button[data-qa=\"manage-cookies\"]"
289
- },
290
- {
291
- "waitFor": ".c-cookie-banner ~ [role=\"dialog\"]"
292
- },
293
- {
294
- "waitForThenClick": ".c-cookie-banner ~ [role=\"dialog\"] input[type=\"checkbox\"][value=\"true\"]",
295
- "all": true
296
- },
297
- {
298
- "click": ".c-cookie-banner ~ [role=\"dialog\"] .c-modal__action button"
224
+ "click": "button[data-qa=\"reject-non-essentials\"]"
299
225
  }
300
226
  ],
301
227
  "test": [
@@ -307,33 +233,6 @@
307
233
  }
308
234
  ]
309
235
  },
310
- {
311
- "name": "agolde.com",
312
- "cosmetic": true,
313
- "prehideSelectors": [
314
- "#modal-1 div[data-micromodal-close]"
315
- ],
316
- "detectCmp": [
317
- {
318
- "exists": "#modal-1 div[aria-labelledby=modal-1-title]"
319
- }
320
- ],
321
- "detectPopup": [
322
- {
323
- "exists": "#modal-1 div[data-micromodal-close]"
324
- }
325
- ],
326
- "optIn": [
327
- {
328
- "click": "button[aria-label=\"Close modal\"]"
329
- }
330
- ],
331
- "optOut": [
332
- {
333
- "hide": "#modal-1 div[data-micromodal-close]"
334
- }
335
- ]
336
- },
337
236
  {
338
237
  "name": "aliexpress",
339
238
  "vendorUrl": "https://aliexpress.com/",
@@ -387,70 +286,6 @@
387
286
  }
388
287
  ]
389
288
  },
390
- {
391
- "name": "almacmp",
392
- "prehideSelectors": [
393
- "#alma-cmpv2-container"
394
- ],
395
- "detectCmp": [
396
- {
397
- "exists": "#alma-cmpv2-container"
398
- }
399
- ],
400
- "detectPopup": [
401
- {
402
- "visible": "#alma-cmpv2-container #almacmp-modal-layer1"
403
- }
404
- ],
405
- "optIn": [
406
- {
407
- "waitForThenClick": "#alma-cmpv2-container #almacmp-modal-layer1 #almacmp-modalConfirmBtn"
408
- }
409
- ],
410
- "optOut": [
411
- {
412
- "waitForThenClick": "#alma-cmpv2-container #almacmp-modal-layer1 #almacmp-modalSettingBtn"
413
- },
414
- {
415
- "waitFor": "#alma-cmpv2-container #almacmp-modal-layer2"
416
- },
417
- {
418
- "waitForThenClick": "#alma-cmpv2-container #almacmp-modal-layer2 #almacmp-reject-all-layer2"
419
- }
420
- ],
421
- "test": [
422
- {
423
- "eval": "EVAL_ALMACMP_0"
424
- }
425
- ]
426
- },
427
- {
428
- "name": "altium.com",
429
- "cosmetic": true,
430
- "prehideSelectors": [
431
- ".altium-privacy-bar"
432
- ],
433
- "detectCmp": [
434
- {
435
- "exists": ".altium-privacy-bar"
436
- }
437
- ],
438
- "detectPopup": [
439
- {
440
- "exists": ".altium-privacy-bar"
441
- }
442
- ],
443
- "optIn": [
444
- {
445
- "click": "a.altium-privacy-bar__btn"
446
- }
447
- ],
448
- "optOut": [
449
- {
450
- "hide": ".altium-privacy-bar"
451
- }
452
- ]
453
- },
454
289
  {
455
290
  "name": "amazon.com",
456
291
  "prehideSelectors": [
@@ -1907,6 +1742,42 @@
1907
1742
  }
1908
1743
  ]
1909
1744
  },
1745
+ {
1746
+ "name": "consent-manager",
1747
+ "cosmetic": false,
1748
+ "runContext": {
1749
+ "main": true,
1750
+ "frame": false,
1751
+ "urlPattern": "^https://ouraring\\.com"
1752
+ },
1753
+ "prehideSelectors": [],
1754
+ "detectCmp": [
1755
+ {
1756
+ "exists": "[data-cy=\"consent-manager-banner\"]"
1757
+ }
1758
+ ],
1759
+ "detectPopup": [
1760
+ {
1761
+ "visible": "[data-cy=\"consent-manager-banner\"]"
1762
+ }
1763
+ ],
1764
+ "optIn": [
1765
+ {
1766
+ "waitForThenClick": "[data-cy=\"manage_cookies\"]"
1767
+ },
1768
+ {
1769
+ "waitForThenClick": "[data-cy=\"consent-manager-preferences-allow-all\"]"
1770
+ }
1771
+ ],
1772
+ "optOut": [
1773
+ {
1774
+ "waitForThenClick": "[data-cy=\"manage_cookies\"]"
1775
+ },
1776
+ {
1777
+ "waitForThenClick": "[data-cy=\"consent-manager-preferences-deny-all\"]"
1778
+ }
1779
+ ]
1780
+ },
1910
1781
  {
1911
1782
  "name": "cookie-consent-spice",
1912
1783
  "cosmetic": false,
@@ -2801,17 +2672,17 @@
2801
2672
  {
2802
2673
  "name": "dpgmedia-nl",
2803
2674
  "prehideSelectors": [
2804
- "#pg-shadow-root-host"
2675
+ "#pg-root-shadow-host"
2805
2676
  ],
2806
2677
  "detectCmp": [
2807
2678
  {
2808
- "exists": "#pg-shadow-root-host"
2679
+ "exists": "#pg-root-shadow-host"
2809
2680
  }
2810
2681
  ],
2811
2682
  "detectPopup": [
2812
2683
  {
2813
2684
  "visible": [
2814
- "#pg-shadow-root-host",
2685
+ "#pg-root-shadow-host",
2815
2686
  "#pg-modal"
2816
2687
  ]
2817
2688
  }
@@ -2819,7 +2690,7 @@
2819
2690
  "optIn": [
2820
2691
  {
2821
2692
  "waitForThenClick": [
2822
- "#pg-shadow-root-host",
2693
+ "#pg-root-shadow-host",
2823
2694
  "#pg-accept-btn"
2824
2695
  ]
2825
2696
  }
@@ -2827,13 +2698,13 @@
2827
2698
  "optOut": [
2828
2699
  {
2829
2700
  "waitForThenClick": [
2830
- "#pg-shadow-root-host",
2701
+ "#pg-root-shadow-host",
2831
2702
  "#pg-configure-btn"
2832
2703
  ]
2833
2704
  },
2834
2705
  {
2835
2706
  "waitForThenClick": [
2836
- "#pg-shadow-root-host",
2707
+ "#pg-root-shadow-host",
2837
2708
  "#pg-reject-btn"
2838
2709
  ]
2839
2710
  }
@@ -2994,6 +2865,37 @@
2994
2865
  }
2995
2866
  ]
2996
2867
  },
2868
+ {
2869
+ "name": "ef-ccpa",
2870
+ "vendorUrl": "https://eforms.com/",
2871
+ "cosmetic": false,
2872
+ "runContext": {
2873
+ "urlPattern": "^https://(www\\.)?eforms\\.com"
2874
+ },
2875
+ "prehideSelectors": [
2876
+ "#ef-ccpa"
2877
+ ],
2878
+ "detectCmp": [
2879
+ {
2880
+ "exists": "#ef-ccpa"
2881
+ }
2882
+ ],
2883
+ "detectPopup": [
2884
+ {
2885
+ "visible": "#ef-ccpa"
2886
+ }
2887
+ ],
2888
+ "optIn": [
2889
+ {
2890
+ "waitForThenClick": "#ef-button-ccpa-agree"
2891
+ }
2892
+ ],
2893
+ "optOut": [
2894
+ {
2895
+ "waitForThenClick": "#ef-button-ccpa-decline"
2896
+ }
2897
+ ]
2898
+ },
2997
2899
  {
2998
2900
  "name": "Ensighten ensModal",
2999
2901
  "prehideSelectors": [
@@ -1050,7 +1050,6 @@ var snippets = {
1050
1050
  // declarative rules
1051
1051
  EVAL_ABC_TEST: () => document.cookie.includes("trackingconsent"),
1052
1052
  EVAL_ADROLL_0: () => !document.cookie.includes("__adroll_fpc"),
1053
- EVAL_ALMACMP_0: () => document.cookie.includes('"name":"Google","consent":false'),
1054
1053
  EVAL_AFFINITY_SERIF_COM_0: () => document.cookie.includes("serif_manage_cookies_viewed") && !document.cookie.includes("serif_allow_analytics"),
1055
1054
  EVAL_ARBEITSAGENTUR_TEST: () => document.cookie.includes("cookie_consent=denied"),
1056
1055
  EVAL_AXEPTIO_0: () => document.cookie.includes("axeptio_authorized_vendors=%2C%2C"),
@@ -1839,7 +1838,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
1839
1838
  this.ccpaPopup = true;
1840
1839
  return true;
1841
1840
  }
1842
- return (url.pathname === "/index.html" || url.pathname === "/privacy-manager/index.html" || url.pathname === "/ccpa_pm/index.html") && (url.searchParams.has("message_id") || url.searchParams.has("requestUUID") || url.searchParams.has("consentUUID"));
1841
+ return (url.pathname === "/index.html" || url.pathname === "/privacy-manager/index.html" || url.pathname === "/ccpa_pm/index.html" || url.pathname === "/us_pm/index.html") && (url.searchParams.has("message_id") || url.searchParams.has("requestUUID") || url.searchParams.has("consentUUID"));
1843
1842
  }
1844
1843
  async detectPopup() {
1845
1844
  if (this.ccpaNotice) {
@@ -1885,7 +1884,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
1885
1884
  return this.click(".priv-save-btn");
1886
1885
  }
1887
1886
  if (!this.isManagerOpen()) {
1888
- const actionable = await this.waitForElement(".sp_choice_type_12,.sp_choice_type_13");
1887
+ const actionable = await this.waitForVisible(".sp_choice_type_12,.sp_choice_type_13");
1889
1888
  if (!actionable) {
1890
1889
  return false;
1891
1890
  }
@@ -1896,6 +1895,9 @@ var SourcePoint = class extends AutoConsentCMPBase {
1896
1895
  await waitFor(() => this.isManagerOpen(), 200, 100);
1897
1896
  }
1898
1897
  await this.waitForElement(".type-modal", 2e4);
1898
+ if (this.elementExists("[role=tablist]")) {
1899
+ await this.waitForElement("[role=tablist] [role=tab]", 1e4);
1900
+ }
1899
1901
  this.waitForThenClick(".ccpa-stack .pm-switch[aria-checked=true] .slider", 500, true);
1900
1902
  try {
1901
1903
  const rejectSelector1 = ".sp_choice_type_REJECT_ALL";
@@ -501,7 +501,6 @@ var snippets = {
501
501
  // declarative rules
502
502
  EVAL_ABC_TEST: () => document.cookie.includes("trackingconsent"),
503
503
  EVAL_ADROLL_0: () => !document.cookie.includes("__adroll_fpc"),
504
- EVAL_ALMACMP_0: () => document.cookie.includes('"name":"Google","consent":false'),
505
504
  EVAL_AFFINITY_SERIF_COM_0: () => document.cookie.includes("serif_manage_cookies_viewed") && !document.cookie.includes("serif_allow_analytics"),
506
505
  EVAL_ARBEITSAGENTUR_TEST: () => document.cookie.includes("cookie_consent=denied"),
507
506
  EVAL_AXEPTIO_0: () => document.cookie.includes("axeptio_authorized_vendors=%2C%2C"),
@@ -1290,7 +1289,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
1290
1289
  this.ccpaPopup = true;
1291
1290
  return true;
1292
1291
  }
1293
- return (url.pathname === "/index.html" || url.pathname === "/privacy-manager/index.html" || url.pathname === "/ccpa_pm/index.html") && (url.searchParams.has("message_id") || url.searchParams.has("requestUUID") || url.searchParams.has("consentUUID"));
1292
+ return (url.pathname === "/index.html" || url.pathname === "/privacy-manager/index.html" || url.pathname === "/ccpa_pm/index.html" || url.pathname === "/us_pm/index.html") && (url.searchParams.has("message_id") || url.searchParams.has("requestUUID") || url.searchParams.has("consentUUID"));
1294
1293
  }
1295
1294
  async detectPopup() {
1296
1295
  if (this.ccpaNotice) {
@@ -1336,7 +1335,7 @@ var SourcePoint = class extends AutoConsentCMPBase {
1336
1335
  return this.click(".priv-save-btn");
1337
1336
  }
1338
1337
  if (!this.isManagerOpen()) {
1339
- const actionable = await this.waitForElement(".sp_choice_type_12,.sp_choice_type_13");
1338
+ const actionable = await this.waitForVisible(".sp_choice_type_12,.sp_choice_type_13");
1340
1339
  if (!actionable) {
1341
1340
  return false;
1342
1341
  }
@@ -1347,6 +1346,9 @@ var SourcePoint = class extends AutoConsentCMPBase {
1347
1346
  await waitFor(() => this.isManagerOpen(), 200, 100);
1348
1347
  }
1349
1348
  await this.waitForElement(".type-modal", 2e4);
1349
+ if (this.elementExists("[role=tablist]")) {
1350
+ await this.waitForElement("[role=tablist] [role=tab]", 1e4);
1351
+ }
1350
1352
  this.waitForThenClick(".ccpa-stack .pm-switch[aria-checked=true] .slider", 500, true);
1351
1353
  try {
1352
1354
  const rejectSelector1 = ".sp_choice_type_REJECT_ALL";