@duckduckgo/autoconsent 10.3.1 → 10.4.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/CHANGELOG.md +26 -0
- package/dist/addon-firefox/content.bundle.js +61 -8
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/rules.json +49 -42
- package/dist/addon-mv3/content.bundle.js +61 -8
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/rules.json +49 -42
- package/dist/autoconsent.cjs.js +61 -8
- package/dist/autoconsent.esm.js +61 -8
- package/dist/autoconsent.playwright.js +1 -1
- package/dist/autoconsent.unit.js +110 -50
- package/lib/cmps/all.ts +2 -1
- package/lib/cmps/sourcepoint-frame.ts +1 -1
- package/lib/cmps/tumblr-com.ts +65 -0
- package/lib/web.ts +4 -6
- package/package.json +1 -1
- package/rules/autoconsent/canva.json +3 -2
- package/rules/autoconsent/cookie-script.json +14 -1
- package/rules/autoconsent/csu-landtag-de.json +1 -1
- package/rules/autoconsent/onlyFans.json +12 -3
- package/rules/autoconsent/strato-de.json +6 -6
- package/rules/rules.json +49 -42
- package/rules/autoconsent/tumblr-com.json +0 -10
package/dist/autoconsent.unit.js
CHANGED
|
@@ -1217,7 +1217,7 @@
|
|
|
1217
1217
|
this.ccpaNotice = false;
|
|
1218
1218
|
this.ccpaPopup = false;
|
|
1219
1219
|
this.runContext = {
|
|
1220
|
-
main:
|
|
1220
|
+
main: true,
|
|
1221
1221
|
frame: true
|
|
1222
1222
|
};
|
|
1223
1223
|
}
|
|
@@ -1757,6 +1757,63 @@
|
|
|
1757
1757
|
}
|
|
1758
1758
|
};
|
|
1759
1759
|
|
|
1760
|
+
// lib/cmps/tumblr-com.ts
|
|
1761
|
+
var Tumblr = class extends AutoConsentCMPBase {
|
|
1762
|
+
constructor() {
|
|
1763
|
+
super(...arguments);
|
|
1764
|
+
this.name = "tumblr-com";
|
|
1765
|
+
this.runContext = {
|
|
1766
|
+
"urlPattern": "^https://(www\\.)?tumblr\\.com/"
|
|
1767
|
+
};
|
|
1768
|
+
}
|
|
1769
|
+
get hasSelfTest() {
|
|
1770
|
+
return false;
|
|
1771
|
+
}
|
|
1772
|
+
get isIntermediate() {
|
|
1773
|
+
return false;
|
|
1774
|
+
}
|
|
1775
|
+
get isCosmetic() {
|
|
1776
|
+
return false;
|
|
1777
|
+
}
|
|
1778
|
+
get prehideSelectors() {
|
|
1779
|
+
return ["#cmp-app-container"];
|
|
1780
|
+
}
|
|
1781
|
+
async detectCmp() {
|
|
1782
|
+
return this.elementExists("#cmp-app-container");
|
|
1783
|
+
}
|
|
1784
|
+
async detectPopup() {
|
|
1785
|
+
return this.elementVisible("#cmp-app-container", "any");
|
|
1786
|
+
}
|
|
1787
|
+
async optOut() {
|
|
1788
|
+
let iframe = document.querySelector("#cmp-app-container iframe");
|
|
1789
|
+
let settingsButton = iframe.contentDocument?.querySelector(".cmp-components-button.is-secondary");
|
|
1790
|
+
if (!settingsButton) {
|
|
1791
|
+
return false;
|
|
1792
|
+
}
|
|
1793
|
+
settingsButton.click();
|
|
1794
|
+
await waitFor(() => {
|
|
1795
|
+
const iframe2 = document.querySelector("#cmp-app-container iframe");
|
|
1796
|
+
return !!iframe2.contentDocument?.querySelector(".cmp__dialog input");
|
|
1797
|
+
}, 5, 500);
|
|
1798
|
+
iframe = document.querySelector("#cmp-app-container iframe");
|
|
1799
|
+
settingsButton = iframe.contentDocument?.querySelector(".cmp-components-button.is-secondary");
|
|
1800
|
+
if (!settingsButton) {
|
|
1801
|
+
return false;
|
|
1802
|
+
}
|
|
1803
|
+
settingsButton.click();
|
|
1804
|
+
return true;
|
|
1805
|
+
}
|
|
1806
|
+
async optIn() {
|
|
1807
|
+
const iframe = document.querySelector("#cmp-app-container iframe");
|
|
1808
|
+
const acceptButton = iframe.contentDocument.querySelector(".cmp-components-button.is-primary");
|
|
1809
|
+
if (acceptButton) {
|
|
1810
|
+
acceptButton.click();
|
|
1811
|
+
return true;
|
|
1812
|
+
}
|
|
1813
|
+
return false;
|
|
1814
|
+
}
|
|
1815
|
+
};
|
|
1816
|
+
|
|
1760
1817
|
// lib/cmps/all.ts
|
|
1761
1818
|
var dynamicCMPs = [
|
|
1762
1819
|
TrustArcTop,
|
|
@@ -1770,7 +1827,8 @@
|
|
|
1770
1827
|
Uniconsent,
|
|
1771
1828
|
Conversant,
|
|
1772
1829
|
Tiktok,
|
|
1773
|
-
Airbnb
|
|
1830
|
+
Airbnb,
|
|
1831
|
+
Tumblr
|
|
1774
1832
|
];
|
|
1775
1833
|
|
|
1776
1834
|
// lib/dom-actions.ts
|
|
@@ -2245,12 +2303,7 @@
|
|
|
2245
2303
|
const globalHidden = [
|
|
2246
2304
|
"#didomi-popup,.didomi-popup-container,.didomi-popup-notice,.didomi-consent-popup-preferences,#didomi-notice,.didomi-popup-backdrop,.didomi-screen-medium"
|
|
2247
2305
|
];
|
|
2248
|
-
const selectors = this.rules.reduce((selectorList, rule) =>
|
|
2249
|
-
if (rule.prehideSelectors) {
|
|
2250
|
-
return [...selectorList, ...rule.prehideSelectors];
|
|
2251
|
-
}
|
|
2252
|
-
return selectorList;
|
|
2253
|
-
}, globalHidden);
|
|
2306
|
+
const selectors = this.rules.filter((rule) => rule.prehideSelectors && rule.checkRunContext()).reduce((selectorList, rule) => [...selectorList, ...rule.prehideSelectors], globalHidden);
|
|
2254
2307
|
this.updateState({ prehideOn: true });
|
|
2255
2308
|
setTimeout(() => {
|
|
2256
2309
|
if (this.config.enablePrehide && this.state.prehideOn && !["runningOptOut", "runningOptIn"].includes(this.state.lifecycle)) {
|
|
@@ -3276,10 +3329,13 @@
|
|
|
3276
3329
|
click: 'div[role="dialog"] button:nth-child(2)'
|
|
3277
3330
|
},
|
|
3278
3331
|
{
|
|
3279
|
-
waitFor: 'div[role="dialog"] a[data-anchor-id="
|
|
3332
|
+
waitFor: 'div[role="dialog"] a[data-anchor-id="cookie-policy"]'
|
|
3280
3333
|
},
|
|
3281
3334
|
{
|
|
3282
|
-
|
|
3335
|
+
waitFor: 'div[role="dialog"] button[role=switch]'
|
|
3336
|
+
},
|
|
3337
|
+
{
|
|
3338
|
+
click: 'div[role="dialog"] button:nth-child(2):not([role])'
|
|
3283
3339
|
},
|
|
3284
3340
|
{
|
|
3285
3341
|
click: 'div[role="dialog"] div:last-child button:only-child'
|
|
@@ -4047,7 +4103,28 @@
|
|
|
4047
4103
|
],
|
|
4048
4104
|
optOut: [
|
|
4049
4105
|
{
|
|
4050
|
-
|
|
4106
|
+
if: {
|
|
4107
|
+
exists: "#cookiescript_reject"
|
|
4108
|
+
},
|
|
4109
|
+
then: [
|
|
4110
|
+
{
|
|
4111
|
+
wait: 100
|
|
4112
|
+
},
|
|
4113
|
+
{
|
|
4114
|
+
click: "#cookiescript_reject"
|
|
4115
|
+
}
|
|
4116
|
+
],
|
|
4117
|
+
else: [
|
|
4118
|
+
{
|
|
4119
|
+
click: "#cookiescript_manage"
|
|
4120
|
+
},
|
|
4121
|
+
{
|
|
4122
|
+
waitForVisible: ".cookiescript_fsd_main"
|
|
4123
|
+
},
|
|
4124
|
+
{
|
|
4125
|
+
waitForThenClick: "#cookiescript_reject"
|
|
4126
|
+
}
|
|
4127
|
+
]
|
|
4051
4128
|
}
|
|
4052
4129
|
],
|
|
4053
4130
|
optIn: [
|
|
@@ -4417,7 +4494,7 @@
|
|
|
4417
4494
|
{
|
|
4418
4495
|
name: "csu-landtag-de",
|
|
4419
4496
|
runContext: {
|
|
4420
|
-
urlPattern: "^https://(www
|
|
4497
|
+
urlPattern: "^https://(www\\.|)?csu-landtag\\.de"
|
|
4421
4498
|
},
|
|
4422
4499
|
prehideSelectors: [
|
|
4423
4500
|
"#cookie-disclaimer"
|
|
@@ -6644,6 +6721,9 @@
|
|
|
6644
6721
|
},
|
|
6645
6722
|
{
|
|
6646
6723
|
name: "onlyFans.com",
|
|
6724
|
+
runContext: {
|
|
6725
|
+
urlPattern: "^https://onlyfans\\.com/"
|
|
6726
|
+
},
|
|
6647
6727
|
prehideSelectors: [
|
|
6648
6728
|
"div.b-cookies-informer"
|
|
6649
6729
|
],
|
|
@@ -6667,10 +6747,18 @@
|
|
|
6667
6747
|
click: "div.b-cookies-informer__nav > button:nth-child(1)"
|
|
6668
6748
|
},
|
|
6669
6749
|
{
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6750
|
+
if: {
|
|
6751
|
+
exists: "div.b-cookies-informer__switchers"
|
|
6752
|
+
},
|
|
6753
|
+
then: [
|
|
6754
|
+
{
|
|
6755
|
+
click: "div.b-cookies-informer__switchers input:not([disabled])",
|
|
6756
|
+
all: true
|
|
6757
|
+
},
|
|
6758
|
+
{
|
|
6759
|
+
click: "div.b-cookies-informer__nav > button"
|
|
6760
|
+
}
|
|
6761
|
+
]
|
|
6674
6762
|
}
|
|
6675
6763
|
]
|
|
6676
6764
|
},
|
|
@@ -7604,33 +7692,32 @@
|
|
|
7604
7692
|
{
|
|
7605
7693
|
name: "strato.de",
|
|
7606
7694
|
prehideSelectors: [
|
|
7607
|
-
"
|
|
7608
|
-
".modal-backdrop"
|
|
7695
|
+
".consent__wrapper"
|
|
7609
7696
|
],
|
|
7610
7697
|
runContext: {
|
|
7611
7698
|
urlPattern: "^https://www\\.strato\\.de/"
|
|
7612
7699
|
},
|
|
7613
7700
|
detectCmp: [
|
|
7614
7701
|
{
|
|
7615
|
-
exists: "
|
|
7702
|
+
exists: ".consent"
|
|
7616
7703
|
}
|
|
7617
7704
|
],
|
|
7618
7705
|
detectPopup: [
|
|
7619
7706
|
{
|
|
7620
|
-
visible: "
|
|
7707
|
+
visible: ".consent"
|
|
7621
7708
|
}
|
|
7622
7709
|
],
|
|
7623
7710
|
optIn: [
|
|
7624
7711
|
{
|
|
7625
|
-
click: "button
|
|
7712
|
+
click: "button.consentAgree"
|
|
7626
7713
|
}
|
|
7627
7714
|
],
|
|
7628
7715
|
optOut: [
|
|
7629
7716
|
{
|
|
7630
|
-
click: "button
|
|
7717
|
+
click: "button.consentSettings"
|
|
7631
7718
|
},
|
|
7632
7719
|
{
|
|
7633
|
-
|
|
7720
|
+
waitForThenClick: "button#consentSubmit"
|
|
7634
7721
|
}
|
|
7635
7722
|
]
|
|
7636
7723
|
},
|
|
@@ -8414,33 +8501,6 @@
|
|
|
8414
8501
|
}
|
|
8415
8502
|
]
|
|
8416
8503
|
},
|
|
8417
|
-
{
|
|
8418
|
-
name: "tumblr-com",
|
|
8419
|
-
cosmetic: true,
|
|
8420
|
-
prehideSelectors: [
|
|
8421
|
-
"#cmp-app-container"
|
|
8422
|
-
],
|
|
8423
|
-
detectCmp: [
|
|
8424
|
-
{
|
|
8425
|
-
exists: "#cmp-app-container"
|
|
8426
|
-
}
|
|
8427
|
-
],
|
|
8428
|
-
detectPopup: [
|
|
8429
|
-
{
|
|
8430
|
-
visible: "#cmp-app-container"
|
|
8431
|
-
}
|
|
8432
|
-
],
|
|
8433
|
-
optIn: [
|
|
8434
|
-
{
|
|
8435
|
-
click: "#tumblr #cmp-app-container div.components-modal__frame > iframe > html body > div > div > div.cmp__dialog-footer > div > button.components-button.white-space-normal.is-primary"
|
|
8436
|
-
}
|
|
8437
|
-
],
|
|
8438
|
-
optOut: [
|
|
8439
|
-
{
|
|
8440
|
-
hide: "#cmp-app-container"
|
|
8441
|
-
}
|
|
8442
|
-
]
|
|
8443
|
-
},
|
|
8444
8504
|
{
|
|
8445
8505
|
name: "twitch-mobile",
|
|
8446
8506
|
vendorUrl: "https://m.twitch.tv/",
|
package/lib/cmps/all.ts
CHANGED
|
@@ -10,7 +10,7 @@ import Uniconsent from './uniconsent';
|
|
|
10
10
|
import Conversant from './conversant';
|
|
11
11
|
import Tiktok from './tiktok';
|
|
12
12
|
import Airbnb from './airbnb';
|
|
13
|
-
|
|
13
|
+
import Tumblr from './tumblr-com';
|
|
14
14
|
|
|
15
15
|
export const dynamicCMPs = [
|
|
16
16
|
TrustArcTop,
|
|
@@ -25,4 +25,5 @@ export const dynamicCMPs = [
|
|
|
25
25
|
Conversant,
|
|
26
26
|
Tiktok,
|
|
27
27
|
Airbnb,
|
|
28
|
+
Tumblr,
|
|
28
29
|
];
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { waitFor } from "../utils";
|
|
2
|
+
import AutoConsentCMPBase from "./base";
|
|
3
|
+
|
|
4
|
+
export default class Tumblr extends AutoConsentCMPBase {
|
|
5
|
+
name = "tumblr-com";
|
|
6
|
+
runContext = {
|
|
7
|
+
"urlPattern": "^https://(www\\.)?tumblr\\.com/"
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
get hasSelfTest(): boolean {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
get isIntermediate(): boolean {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
get isCosmetic(): boolean {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
get prehideSelectors(): string[] {
|
|
23
|
+
return ["#cmp-app-container"];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async detectCmp() {
|
|
27
|
+
return this.elementExists("#cmp-app-container");
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
async detectPopup() {
|
|
31
|
+
return this.elementVisible("#cmp-app-container", 'any');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async optOut() {
|
|
35
|
+
let iframe: HTMLIFrameElement = document.querySelector('#cmp-app-container iframe');
|
|
36
|
+
let settingsButton: HTMLButtonElement = iframe.contentDocument?.querySelector(".cmp-components-button.is-secondary");
|
|
37
|
+
if (!settingsButton) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
settingsButton.click();
|
|
41
|
+
await waitFor(() => {
|
|
42
|
+
const iframe: HTMLIFrameElement = document.querySelector('#cmp-app-container iframe');
|
|
43
|
+
return !!iframe.contentDocument?.querySelector(".cmp__dialog input");
|
|
44
|
+
}, 5, 500);
|
|
45
|
+
|
|
46
|
+
// it's a different button now
|
|
47
|
+
iframe = document.querySelector('#cmp-app-container iframe');
|
|
48
|
+
settingsButton = iframe.contentDocument?.querySelector(".cmp-components-button.is-secondary");
|
|
49
|
+
if (!settingsButton) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
settingsButton.click();
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
async optIn() {
|
|
57
|
+
const iframe: HTMLIFrameElement = document.querySelector('#cmp-app-container iframe');
|
|
58
|
+
const acceptButton: HTMLButtonElement = iframe.contentDocument.querySelector(".cmp-components-button.is-primary");
|
|
59
|
+
if (acceptButton) {
|
|
60
|
+
acceptButton.click();
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
package/lib/web.ts
CHANGED
|
@@ -411,12 +411,10 @@ export default class AutoConsent {
|
|
|
411
411
|
"#didomi-popup,.didomi-popup-container,.didomi-popup-notice,.didomi-consent-popup-preferences,#didomi-notice,.didomi-popup-backdrop,.didomi-screen-medium",
|
|
412
412
|
]
|
|
413
413
|
|
|
414
|
-
const selectors = this.rules
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
return selectorList;
|
|
419
|
-
}, globalHidden);
|
|
414
|
+
const selectors = this.rules
|
|
415
|
+
.filter(rule => rule.prehideSelectors && rule.checkRunContext())
|
|
416
|
+
.reduce((selectorList, rule) =>
|
|
417
|
+
[...selectorList, ...rule.prehideSelectors], globalHidden);
|
|
420
418
|
|
|
421
419
|
this.updateState({ prehideOn: true })
|
|
422
420
|
setTimeout(() => {
|
package/package.json
CHANGED
|
@@ -12,8 +12,9 @@
|
|
|
12
12
|
"then": [{ "click": "div[role=\"dialog\"] button:nth-child(2)" }],
|
|
13
13
|
"else": [
|
|
14
14
|
{ "click": "div[role=\"dialog\"] button:nth-child(2)" },
|
|
15
|
-
{ "waitFor": "div[role=\"dialog\"] a[data-anchor-id=\"
|
|
16
|
-
{ "
|
|
15
|
+
{ "waitFor": "div[role=\"dialog\"] a[data-anchor-id=\"cookie-policy\"]" },
|
|
16
|
+
{ "waitFor": "div[role=\"dialog\"] button[role=switch]" },
|
|
17
|
+
{ "click": "div[role=\"dialog\"] button:nth-child(2):not([role])" },
|
|
17
18
|
{ "click": "div[role=\"dialog\"] div:last-child button:only-child" }
|
|
18
19
|
]
|
|
19
20
|
}
|
|
@@ -4,6 +4,19 @@
|
|
|
4
4
|
"prehideSelectors": ["#cookiescript_injected"],
|
|
5
5
|
"detectCmp": [{"exists": "#cookiescript_injected"}],
|
|
6
6
|
"detectPopup": [{"visible": "#cookiescript_injected"}],
|
|
7
|
-
"optOut": [
|
|
7
|
+
"optOut": [
|
|
8
|
+
{
|
|
9
|
+
"if": { "exists": "#cookiescript_reject" },
|
|
10
|
+
"then": [
|
|
11
|
+
{ "wait": 100 },
|
|
12
|
+
{"click": "#cookiescript_reject" }
|
|
13
|
+
],
|
|
14
|
+
"else": [
|
|
15
|
+
{ "click": "#cookiescript_manage" },
|
|
16
|
+
{ "waitForVisible": ".cookiescript_fsd_main" },
|
|
17
|
+
{ "waitForThenClick": "#cookiescript_reject" }
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
],
|
|
8
21
|
"optIn": [{"click": "#cookiescript_accept"}]
|
|
9
22
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "onlyFans.com",
|
|
3
|
+
"runContext": {
|
|
4
|
+
"urlPattern": "^https://onlyfans\\.com/"
|
|
5
|
+
},
|
|
3
6
|
"prehideSelectors": ["div.b-cookies-informer"],
|
|
4
7
|
"detectCmp": [{ "exists": "div.b-cookies-informer" }],
|
|
5
8
|
"detectPopup": [{ "exists": "div.b-cookies-informer" }],
|
|
@@ -11,8 +14,14 @@
|
|
|
11
14
|
"click": "div.b-cookies-informer__nav > button:nth-child(1)"
|
|
12
15
|
},
|
|
13
16
|
{
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
"if": {"exists": "div.b-cookies-informer__switchers"},
|
|
18
|
+
"then": [
|
|
19
|
+
{
|
|
20
|
+
"click": "div.b-cookies-informer__switchers input:not([disabled])",
|
|
21
|
+
"all": true
|
|
22
|
+
},
|
|
23
|
+
{ "click": "div.b-cookies-informer__nav > button"}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
17
26
|
]
|
|
18
27
|
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "strato.de",
|
|
3
|
-
"prehideSelectors": ["
|
|
3
|
+
"prehideSelectors": [".consent__wrapper"],
|
|
4
4
|
"runContext": {
|
|
5
5
|
"urlPattern": "^https://www\\.strato\\.de/"
|
|
6
6
|
},
|
|
7
|
-
"detectCmp": [{ "exists": "
|
|
8
|
-
"detectPopup": [{ "visible": "
|
|
7
|
+
"detectCmp": [{ "exists": ".consent" }],
|
|
8
|
+
"detectPopup": [{ "visible": ".consent" }],
|
|
9
9
|
"optIn": [{
|
|
10
|
-
"click": "button
|
|
10
|
+
"click": "button.consentAgree"
|
|
11
11
|
}],
|
|
12
12
|
"optOut": [
|
|
13
13
|
{
|
|
14
|
-
"click": "button
|
|
14
|
+
"click": "button.consentSettings"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
17
|
-
"
|
|
17
|
+
"waitForThenClick": "button#consentSubmit"
|
|
18
18
|
}
|
|
19
19
|
]
|
|
20
20
|
}
|
package/rules/rules.json
CHANGED
|
@@ -969,10 +969,13 @@
|
|
|
969
969
|
"click": "div[role=\"dialog\"] button:nth-child(2)"
|
|
970
970
|
},
|
|
971
971
|
{
|
|
972
|
-
"waitFor": "div[role=\"dialog\"] a[data-anchor-id=\"
|
|
972
|
+
"waitFor": "div[role=\"dialog\"] a[data-anchor-id=\"cookie-policy\"]"
|
|
973
973
|
},
|
|
974
974
|
{
|
|
975
|
-
"
|
|
975
|
+
"waitFor": "div[role=\"dialog\"] button[role=switch]"
|
|
976
|
+
},
|
|
977
|
+
{
|
|
978
|
+
"click": "div[role=\"dialog\"] button:nth-child(2):not([role])"
|
|
976
979
|
},
|
|
977
980
|
{
|
|
978
981
|
"click": "div[role=\"dialog\"] div:last-child button:only-child"
|
|
@@ -1740,7 +1743,28 @@
|
|
|
1740
1743
|
],
|
|
1741
1744
|
"optOut": [
|
|
1742
1745
|
{
|
|
1743
|
-
"
|
|
1746
|
+
"if": {
|
|
1747
|
+
"exists": "#cookiescript_reject"
|
|
1748
|
+
},
|
|
1749
|
+
"then": [
|
|
1750
|
+
{
|
|
1751
|
+
"wait": 100
|
|
1752
|
+
},
|
|
1753
|
+
{
|
|
1754
|
+
"click": "#cookiescript_reject"
|
|
1755
|
+
}
|
|
1756
|
+
],
|
|
1757
|
+
"else": [
|
|
1758
|
+
{
|
|
1759
|
+
"click": "#cookiescript_manage"
|
|
1760
|
+
},
|
|
1761
|
+
{
|
|
1762
|
+
"waitForVisible": ".cookiescript_fsd_main"
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
"waitForThenClick": "#cookiescript_reject"
|
|
1766
|
+
}
|
|
1767
|
+
]
|
|
1744
1768
|
}
|
|
1745
1769
|
],
|
|
1746
1770
|
"optIn": [
|
|
@@ -2110,7 +2134,7 @@
|
|
|
2110
2134
|
{
|
|
2111
2135
|
"name": "csu-landtag-de",
|
|
2112
2136
|
"runContext": {
|
|
2113
|
-
"urlPattern": "^https://(www
|
|
2137
|
+
"urlPattern": "^https://(www\\.|)?csu-landtag\\.de"
|
|
2114
2138
|
},
|
|
2115
2139
|
"prehideSelectors": [
|
|
2116
2140
|
"#cookie-disclaimer"
|
|
@@ -4337,6 +4361,9 @@
|
|
|
4337
4361
|
},
|
|
4338
4362
|
{
|
|
4339
4363
|
"name": "onlyFans.com",
|
|
4364
|
+
"runContext": {
|
|
4365
|
+
"urlPattern": "^https://onlyfans\\.com/"
|
|
4366
|
+
},
|
|
4340
4367
|
"prehideSelectors": [
|
|
4341
4368
|
"div.b-cookies-informer"
|
|
4342
4369
|
],
|
|
@@ -4360,10 +4387,18 @@
|
|
|
4360
4387
|
"click": "div.b-cookies-informer__nav > button:nth-child(1)"
|
|
4361
4388
|
},
|
|
4362
4389
|
{
|
|
4363
|
-
"
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
"
|
|
4390
|
+
"if": {
|
|
4391
|
+
"exists": "div.b-cookies-informer__switchers"
|
|
4392
|
+
},
|
|
4393
|
+
"then": [
|
|
4394
|
+
{
|
|
4395
|
+
"click": "div.b-cookies-informer__switchers input:not([disabled])",
|
|
4396
|
+
"all": true
|
|
4397
|
+
},
|
|
4398
|
+
{
|
|
4399
|
+
"click": "div.b-cookies-informer__nav > button"
|
|
4400
|
+
}
|
|
4401
|
+
]
|
|
4367
4402
|
}
|
|
4368
4403
|
]
|
|
4369
4404
|
},
|
|
@@ -5297,33 +5332,32 @@
|
|
|
5297
5332
|
{
|
|
5298
5333
|
"name": "strato.de",
|
|
5299
5334
|
"prehideSelectors": [
|
|
5300
|
-
"
|
|
5301
|
-
".modal-backdrop"
|
|
5335
|
+
".consent__wrapper"
|
|
5302
5336
|
],
|
|
5303
5337
|
"runContext": {
|
|
5304
5338
|
"urlPattern": "^https://www\\.strato\\.de/"
|
|
5305
5339
|
},
|
|
5306
5340
|
"detectCmp": [
|
|
5307
5341
|
{
|
|
5308
|
-
"exists": "
|
|
5342
|
+
"exists": ".consent"
|
|
5309
5343
|
}
|
|
5310
5344
|
],
|
|
5311
5345
|
"detectPopup": [
|
|
5312
5346
|
{
|
|
5313
|
-
"visible": "
|
|
5347
|
+
"visible": ".consent"
|
|
5314
5348
|
}
|
|
5315
5349
|
],
|
|
5316
5350
|
"optIn": [
|
|
5317
5351
|
{
|
|
5318
|
-
"click": "button
|
|
5352
|
+
"click": "button.consentAgree"
|
|
5319
5353
|
}
|
|
5320
5354
|
],
|
|
5321
5355
|
"optOut": [
|
|
5322
5356
|
{
|
|
5323
|
-
"click": "button
|
|
5357
|
+
"click": "button.consentSettings"
|
|
5324
5358
|
},
|
|
5325
5359
|
{
|
|
5326
|
-
"
|
|
5360
|
+
"waitForThenClick": "button#consentSubmit"
|
|
5327
5361
|
}
|
|
5328
5362
|
]
|
|
5329
5363
|
},
|
|
@@ -6107,33 +6141,6 @@
|
|
|
6107
6141
|
}
|
|
6108
6142
|
]
|
|
6109
6143
|
},
|
|
6110
|
-
{
|
|
6111
|
-
"name": "tumblr-com",
|
|
6112
|
-
"cosmetic": true,
|
|
6113
|
-
"prehideSelectors": [
|
|
6114
|
-
"#cmp-app-container"
|
|
6115
|
-
],
|
|
6116
|
-
"detectCmp": [
|
|
6117
|
-
{
|
|
6118
|
-
"exists": "#cmp-app-container"
|
|
6119
|
-
}
|
|
6120
|
-
],
|
|
6121
|
-
"detectPopup": [
|
|
6122
|
-
{
|
|
6123
|
-
"visible": "#cmp-app-container"
|
|
6124
|
-
}
|
|
6125
|
-
],
|
|
6126
|
-
"optIn": [
|
|
6127
|
-
{
|
|
6128
|
-
"click": "#tumblr #cmp-app-container div.components-modal__frame > iframe > html body > div > div > div.cmp__dialog-footer > div > button.components-button.white-space-normal.is-primary"
|
|
6129
|
-
}
|
|
6130
|
-
],
|
|
6131
|
-
"optOut": [
|
|
6132
|
-
{
|
|
6133
|
-
"hide": "#cmp-app-container"
|
|
6134
|
-
}
|
|
6135
|
-
]
|
|
6136
|
-
},
|
|
6137
6144
|
{
|
|
6138
6145
|
"name": "twitch-mobile",
|
|
6139
6146
|
"vendorUrl": "https://m.twitch.tv/",
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tumblr-com",
|
|
3
|
-
"cosmetic": true,
|
|
4
|
-
"prehideSelectors": ["#cmp-app-container"],
|
|
5
|
-
"detectCmp": [{ "exists": "#cmp-app-container" }],
|
|
6
|
-
"detectPopup": [{ "visible": "#cmp-app-container" }],
|
|
7
|
-
"optIn":
|
|
8
|
-
[{"click": "#tumblr #cmp-app-container div.components-modal__frame > iframe > html body > div > div > div.cmp__dialog-footer > div > button.components-button.white-space-normal.is-primary" }],
|
|
9
|
-
"optOut": [{ "hide": "#cmp-app-container" }]
|
|
10
|
-
}
|