@duckduckgo/autoconsent 16.62.0 → 17.0.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 +84 -0
- package/dist/addon-firefox/background.bundle.js +1 -0
- package/dist/addon-firefox/compact-rules.json +1 -1
- package/dist/addon-firefox/content.bundle.js +176 -36
- package/dist/addon-firefox/manifest.json +1 -1
- package/dist/addon-firefox/popup.bundle.js +1 -0
- package/dist/addon-firefox/rule-index.json +1 -1
- package/dist/addon-firefox/rules.json +1 -1
- package/dist/addon-mv3/background.bundle.js +1 -0
- package/dist/addon-mv3/compact-rules.json +1 -1
- package/dist/addon-mv3/content.bundle.js +176 -36
- package/dist/addon-mv3/manifest.json +1 -1
- package/dist/addon-mv3/popup.bundle.js +1 -0
- package/dist/addon-mv3/rule-index.json +1 -1
- package/dist/addon-mv3/rules.json +1 -1
- package/dist/autoconsent.cjs.js +176 -36
- package/dist/autoconsent.esm.js +176 -36
- package/dist/autoconsent.playwright.js +179 -36
- package/dist/autoconsent.standalone.js +177 -37
- package/dist/heuristics.cjs.js +14 -1
- package/dist/heuristics.mjs +14 -1
- package/dist/types/heuristics.d.ts +12 -3
- package/dist/types/types.d.ts +12 -1
- package/lib/cmps/base.ts +5 -1
- package/lib/heuristic-patterns.ts +17 -1
- package/lib/heuristics.ts +240 -45
- package/lib/types.ts +16 -1
- package/lib/utils.ts +1 -0
- package/package.json +2 -2
- package/readme.md +1 -1
- package/rules/autoconsent/appconsent-legacy.json +22 -1
- package/rules/autoconsent/asrock.json +44 -0
- package/rules/autoconsent/beetle-tracking.json +22 -0
- package/rules/autoconsent/casier-judiciaire-justice-gouv-fr.json +40 -0
- package/rules/autoconsent/civilservicejobs-service-gov-uk.json +38 -0
- package/rules/autoconsent/ckies.json +1 -1
- package/rules/autoconsent/consentmo.json +5 -2
- package/rules/autoconsent/cookie-script.json +34 -15
- package/rules/autoconsent/cookiesinfo-closecookies.json +9 -0
- package/rules/autoconsent/dack365.json +35 -0
- package/rules/autoconsent/epaas.json +18 -1
- package/rules/autoconsent/eu-cookie-law-popup.json +33 -0
- package/rules/autoconsent/fascicolosanitario-lombardia.json +14 -0
- package/rules/autoconsent/fnsp-cookieconsent.json +30 -0
- package/rules/autoconsent/fod-fujitv.json +13 -0
- package/rules/autoconsent/fundingchoices.json +12 -2
- package/rules/autoconsent/hkdir.json +33 -0
- package/rules/autoconsent/hyrabostad.json +21 -0
- package/rules/autoconsent/insided.json +15 -0
- package/rules/autoconsent/jokul-cookie-consent.json +28 -0
- package/rules/autoconsent/kartverket.json +46 -0
- package/rules/autoconsent/lego.json +27 -5
- package/rules/autoconsent/luxmed.json +33 -0
- package/rules/autoconsent/mars-cookies-prompt.json +20 -0
- package/rules/autoconsent/meta-cookie-dialog.json +37 -0
- package/rules/autoconsent/mittanbud.json +33 -0
- package/rules/autoconsent/niedziela-pl.json +35 -0
- package/rules/autoconsent/nikkeibp.json +10 -0
- package/rules/autoconsent/onecom-cookie-banner.json +25 -0
- package/rules/autoconsent/oslosportslager.no.json +34 -0
- package/rules/autoconsent/plex.tv.json +52 -0
- package/rules/autoconsent/poki.json +37 -0
- package/rules/autoconsent/polisen-se.json +26 -0
- package/rules/autoconsent/radio-canada.json +28 -0
- package/rules/autoconsent/regjeringen.no.json +13 -0
- package/rules/autoconsent/roll20.json +50 -0
- package/rules/autoconsent/romeo.json +47 -0
- package/rules/autoconsent/sirdata.json +8 -3
- package/rules/autoconsent/site-notifications-cookie-usage.json +25 -0
- package/rules/autoconsent/sparebank1-optin.json +10 -0
- package/rules/autoconsent/stockholm-stad.json +42 -0
- package/rules/autoconsent/stright.json +19 -1
- package/rules/autoconsent/stripchat.com.json +26 -5
- package/rules/autoconsent/tri-table.json +6 -2
- package/rules/autoconsent/tvp.json +27 -0
- package/rules/autoconsent/urvaerket.json +33 -0
- package/rules/autoconsent/vinnova-se.json +50 -0
- package/rules/autoconsent/volvocars-com.json +23 -2
- package/rules/autoconsent/vortex-consent.json +33 -0
- package/rules/autoconsent/vue-cookie-accept-decline.json +42 -0
- package/rules/compact-rules.json +1 -1
- package/rules/rule-index.json +1 -1
- package/rules/rules.json +1 -1
- package/tests/appconsent-legacy.spec.ts +1 -1
- package/tests/asrock.spec.ts +3 -0
- package/tests/beetle-tracking.spec.ts +3 -0
- package/tests/casier-judiciaire-justice-gouv-fr.spec.ts +3 -0
- package/tests/civilservicejobs-service-gov-uk.spec.ts +3 -0
- package/tests/consentmo.spec.ts +2 -0
- package/tests/cookie-script.spec.ts +5 -0
- package/tests/cookiesinfo-closecookies.spec.ts +8 -0
- package/tests/dack365.spec.ts +3 -0
- package/tests/epaas.spec.ts +3 -0
- package/tests/eu-cookie-law-popup.spec.ts +8 -0
- package/tests/fascicolosanitario-lombardia.spec.ts +3 -0
- package/tests/fnsp-cookieconsent.spec.ts +9 -0
- package/tests/fod-fujitv.spec.ts +3 -0
- package/tests/fundingchoices.spec.ts +7 -1
- package/tests/hkdir.spec.ts +10 -0
- package/tests/hyrabostad.spec.ts +3 -0
- package/tests/insided.spec.ts +9 -0
- package/tests/jokul-cookie-consent.spec.ts +3 -0
- package/tests/kartverket.spec.ts +3 -0
- package/tests/luxmed.spec.ts +3 -0
- package/tests/mars-cookies-prompt.spec.ts +3 -0
- package/tests/meta-cookie-dialog.spec.ts +14 -0
- package/tests/mittanbud.spec.ts +3 -0
- package/tests/niedziela-pl.spec.ts +3 -0
- package/tests/nikkeibp.spec.ts +8 -0
- package/tests/onecom-cookie-banner.spec.ts +5 -0
- package/tests/oslosportslager.no.spec.ts +3 -0
- package/tests/plex.tv.spec.ts +5 -0
- package/tests/poki.spec.ts +6 -0
- package/tests/polisen-se.spec.ts +3 -0
- package/tests/radio-canada.spec.ts +15 -0
- package/tests/regjeringen.no.spec.ts +3 -0
- package/tests/roll20.spec.ts +3 -0
- package/tests/romeo.spec.ts +3 -0
- package/tests/sirdata.spec.ts +13 -1
- package/tests/site-notifications-cookie-usage.spec.ts +3 -0
- package/tests/sparebank1-optin.spec.ts +8 -0
- package/tests/stockholm-stad.spec.ts +7 -0
- package/tests/stright.spec.ts +11 -0
- package/tests/stripchat.com.spec.ts +4 -1
- package/tests/tri-table.spec.ts +1 -1
- package/tests/tvp.spec.ts +3 -0
- package/tests/urvaerket.spec.ts +13 -0
- package/tests/vinnova-se.spec.ts +6 -0
- package/tests/volvocars-com.spec.ts +1 -1
- package/tests/vortex-consent.spec.ts +18 -0
- package/tests/vue-cookie-accept-decline.spec.ts +8 -0
- package/tests-wtr/heuristics/get-actionable-popups.ts +41 -7
- package/tests-wtr/heuristics/get-potential-popups.test.ts +235 -4
- package/tests-wtr/heuristics/heuristic-cmp.ts +16 -1
- package/tests-wtr/heuristics/heuristics-utils.test.ts +49 -0
- package/rules/generated/auto_CA_plex.tv_ee4.json +0 -40
- package/rules/generated/auto_CA_support.plex.tv_gn3.json +0 -40
- package/tests/generated/auto_CA_plex.tv_ee4.spec.ts +0 -2
- package/tests/generated/auto_CA_support.plex.tv_gn3.spec.ts +0 -6
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "luxmed",
|
|
3
|
+
"vendorUrl": "https://portalpacjenta.luxmed.pl/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://([a-z0-9-]+\\.)?luxmed\\.pl/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": [],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"exists": "app-cookie-modal .top-info-cookie"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": "app-cookie-modal .top-info-cookie"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": "app-cookie-modal .top-info-cookie .close-x"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": "app-cookie-modal .top-info-cookie .close-x"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"test": [
|
|
29
|
+
{
|
|
30
|
+
"cookieContains": "PatientPortalCookieMonit=1"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mars-cookies-prompt",
|
|
3
|
+
"prehideSelectors": [".cookies-prompt__banner"],
|
|
4
|
+
"detectCmp": [{ "exists": ".cookies-prompt__wrapper .cookies-prompt__banner" }],
|
|
5
|
+
"detectPopup": [{ "visible": ".cookies-prompt__wrapper .cookies-prompt__banner" }],
|
|
6
|
+
"optIn": [{ "waitForThenClick": ".cookies-prompt__banner .cookies-prompt__actions-btn_danger" }],
|
|
7
|
+
"optOut": [
|
|
8
|
+
{
|
|
9
|
+
"if": { "exists": ".cookies-prompt__banner_preview" },
|
|
10
|
+
"then": [{ "click": ".cookies-prompt__banner_preview .cookies-prompt__actions-btn.btn-secondary" }]
|
|
11
|
+
},
|
|
12
|
+
{ "waitForVisible": ".cookies-prompt__actions-wrap_details" },
|
|
13
|
+
{
|
|
14
|
+
"if": { "exists": ".cookies-prompt__banner_details .switch input:checked:not([disabled])" },
|
|
15
|
+
"then": [{ "click": ".cookies-prompt__banner_details .switch input:checked:not([disabled])", "all": true }]
|
|
16
|
+
},
|
|
17
|
+
{ "click": ".cookies-prompt__actions-wrap_details .cookies-prompt__actions-btn.btn-secondary" }
|
|
18
|
+
],
|
|
19
|
+
"test": [{ "cookieContains": "cookies_consent=" }]
|
|
20
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "meta-cookie-dialog",
|
|
3
|
+
"vendorUrl": "https://www.meta.com/",
|
|
4
|
+
"prehideSelectors": ["[data-testid=\"cookie-policy-dialog\"]", "[data-testid=\"cookie-policy-manage-dialog\"]"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": "[data-testid=\"cookie-policy-dialog\"] [data-cookiebanner=\"accept_only_essential_button\"], [data-testid=\"cookie-policy-manage-dialog\"] [data-cookiebanner=\"accept_only_essential_button\"]"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": "[data-testid=\"cookie-policy-dialog\"] [data-cookiebanner=\"accept_only_essential_button\"], [data-testid=\"cookie-policy-manage-dialog\"] [data-cookiebanner=\"accept_only_essential_button\"]"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": "[data-cookiebanner=\"accept_button\"]",
|
|
18
|
+
"retry": 3,
|
|
19
|
+
"retryInterval": 500
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"waitForVisible": "[data-cookiebanner=\"accept_button\"]",
|
|
23
|
+
"check": "none"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"optOut": [
|
|
27
|
+
{
|
|
28
|
+
"waitForThenClick": "[data-cookiebanner=\"accept_only_essential_button\"]",
|
|
29
|
+
"retry": 3,
|
|
30
|
+
"retryInterval": 500
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"waitForVisible": "[data-cookiebanner=\"accept_only_essential_button\"]",
|
|
34
|
+
"check": "none"
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mittanbud",
|
|
3
|
+
"cosmetic": false,
|
|
4
|
+
"prehideSelectors": [],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": "div[role=\"dialog\"]:has(button#necessary[role=\"switch\"]):has(button#marketing[role=\"switch\"]) [role=\"tablist\"]"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": "div[role=\"dialog\"]:has(button#necessary[role=\"switch\"]):has(button#marketing[role=\"switch\"])"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": "div[role=\"dialog\"]:has(button#necessary[role=\"switch\"]) div:not([role=\"tablist\"]) > button:first-child:nth-last-child(3)"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": "div[role=\"dialog\"]:has(button#necessary[role=\"switch\"]) div:not([role=\"tablist\"]) > button:nth-child(3):last-child"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"test": [
|
|
26
|
+
{
|
|
27
|
+
"cookieContains": "decided=true"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"cookieContains": "marketing=false"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "niedziela-pl",
|
|
3
|
+
"vendorUrl": "https://niedziela.pl/",
|
|
4
|
+
"cosmetic": true,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"urlPattern": "^https?://([\\w-]+\\.)?niedziela\\.pl/"
|
|
7
|
+
},
|
|
8
|
+
"prehideSelectors": [".cookies:has(.closecookies)"],
|
|
9
|
+
"detectCmp": [
|
|
10
|
+
{
|
|
11
|
+
"exists": ".cookies .closecookies"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"detectPopup": [
|
|
15
|
+
{
|
|
16
|
+
"visible": ".cookies .closecookies"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optIn": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": ".cookies .closecookies"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"optOut": [
|
|
25
|
+
{
|
|
26
|
+
"hide": ".cookies:has(.closecookies)"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"test": [
|
|
30
|
+
{
|
|
31
|
+
"visible": ".cookies .closecookies",
|
|
32
|
+
"check": "none"
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "nikkeibp",
|
|
3
|
+
"vendorUrl": "https://www.nikkeibp.co.jp/",
|
|
4
|
+
"prehideSelectors": [".bpPrivacy"],
|
|
5
|
+
"detectCmp": [{ "exists": ".bpPrivacy .bpPrivacy_button-close" }],
|
|
6
|
+
"detectPopup": [{ "visible": ".bpPrivacy .bpPrivacy_button-close" }],
|
|
7
|
+
"optIn": [{ "waitForThenClick": ".bpPrivacy .bpPrivacy_button-close" }],
|
|
8
|
+
"optOut": [{ "waitForThenClick": ".bpPrivacy .bpPrivacy_button-close" }],
|
|
9
|
+
"test": [{ "waitForVisible": ".bpPrivacy", "timeout": 1000, "check": "none" }]
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "onecom-cookie-banner",
|
|
3
|
+
"cosmetic": true,
|
|
4
|
+
"prehideSelectors": ["#oc_cb_wrapper"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": "#oc_cb_wrapper #oc_cb_btn"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": "#oc_cb_wrapper"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": "#oc_cb_btn"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"hide": "#oc_cb_wrapper"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "oslosportslager.no",
|
|
3
|
+
"vendorUrl": "https://oslosportslager.no/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"urlPattern": "^https?://(www\\.)?oslosportslager\\.no/"
|
|
7
|
+
},
|
|
8
|
+
"prehideSelectors": ["#footerCurtainCookie"],
|
|
9
|
+
"detectCmp": [
|
|
10
|
+
{
|
|
11
|
+
"exists": "#footerCurtainCookie .footerCookieLink"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"detectPopup": [
|
|
15
|
+
{
|
|
16
|
+
"visible": "#footerCurtainCookie"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"optIn": [
|
|
20
|
+
{
|
|
21
|
+
"waitForThenClick": "#footerCurtainCookie .footerButtonFix"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"optOut": [
|
|
25
|
+
{
|
|
26
|
+
"waitForThenClick": "#footerCurtainCookie .footerCookieLink"
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"test": [
|
|
30
|
+
{
|
|
31
|
+
"cookieContains": "SL_cookie=NO"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "plex.tv",
|
|
3
|
+
"vendorUrl": "https://www.plex.tv/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(\\w+\\.)?plex\\.tv/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["[data-testid=cookieBar]", ".notification-bar.cookie-consent"],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"any": [
|
|
11
|
+
{ "exists": "[data-testid=cookieBar]" },
|
|
12
|
+
{ "exists": "[data-testid=adConsentModal]" },
|
|
13
|
+
{ "exists": ".notification-bar.cookie-consent" }
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"detectPopup": [
|
|
18
|
+
{
|
|
19
|
+
"any": [
|
|
20
|
+
{ "visible": "[data-testid=cookieBar]" },
|
|
21
|
+
{ "visible": "[data-testid=adConsentModal]" },
|
|
22
|
+
{ "visible": ".notification-bar.cookie-consent" }
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"optIn": [
|
|
27
|
+
{
|
|
28
|
+
"if": { "visible": "[data-testid=adConsentModal]" },
|
|
29
|
+
"then": [
|
|
30
|
+
{ "waitForThenClick": "[data-testid=adConsentAgreeButton]" },
|
|
31
|
+
{ "waitForThenClick": "[data-testid=cookieBarAcceptButton]", "timeout": 5000, "optional": true }
|
|
32
|
+
],
|
|
33
|
+
"else": [{ "waitForThenClick": "[data-testid=cookieBarAcceptButton], .notification-bar.cookie-consent .cookie-consent-accept" }]
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"optOut": [
|
|
37
|
+
{
|
|
38
|
+
"if": { "visible": "[data-testid=adConsentModal]" },
|
|
39
|
+
"then": [
|
|
40
|
+
{ "waitForThenClick": "[data-testid=adConsentDisagreeButton]" },
|
|
41
|
+
{
|
|
42
|
+
"waitForThenClick": "[data-testid=cookieBarRejectButton]",
|
|
43
|
+
"timeout": 5000,
|
|
44
|
+
"optional": true,
|
|
45
|
+
"comment": "the cookie bar is shown once the ad consent modal is dismissed"
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"else": [{ "waitForThenClick": "[data-testid=cookieBarRejectButton], .notification-bar.cookie-consent .cookie-consent-reject" }]
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"test": [{ "cookieContains": "plex_tv_cookie_consent=2" }]
|
|
52
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "poki",
|
|
3
|
+
"_metadata": {
|
|
4
|
+
"vendorUrl": "https://poki.com/"
|
|
5
|
+
},
|
|
6
|
+
"runContext": {
|
|
7
|
+
"urlPattern": "^https?://(\\w+\\.)?poki\\.com/"
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": ["#notification-stack > div:has(> header > [style*='ui-icons-lock.svg'] ~ button)"],
|
|
10
|
+
"detectCmp": [
|
|
11
|
+
{
|
|
12
|
+
"exists": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"detectPopup": [
|
|
16
|
+
{
|
|
17
|
+
"visible": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optIn": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"optOut": [
|
|
26
|
+
{
|
|
27
|
+
"waitForThenClick": "#notification-stack header:has([style*='ui-icons-lock.svg']) button"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"test": [
|
|
31
|
+
{
|
|
32
|
+
"waitForVisible": "#notification-stack header:has([style*='ui-icons-lock.svg'])",
|
|
33
|
+
"check": "none",
|
|
34
|
+
"timeout": 2000
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "polisen-se",
|
|
3
|
+
"vendorUrl": "https://polisen.se/",
|
|
4
|
+
"cosmetic": false,
|
|
5
|
+
"runContext": {
|
|
6
|
+
"main": true,
|
|
7
|
+
"frame": false
|
|
8
|
+
},
|
|
9
|
+
"prehideSelectors": ["#cookie-consent.c-cookie-banner"],
|
|
10
|
+
"detectCmp": [{ "exists": "#cookie-consent.c-cookie-banner .c-cookie-banner__quickform" }],
|
|
11
|
+
"detectPopup": [{ "visible": "#cookie-consent.c-cookie-banner" }],
|
|
12
|
+
"optIn": [
|
|
13
|
+
{
|
|
14
|
+
"waitForThenClick": "#cookie-consent .c-cookie-banner__quickform input[name='Purpose.Statistics'][value='True'] ~ input[type='submit']"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optOut": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": "#cookie-consent .c-cookie-banner__quickform input[name='Purpose.Statistics'][value='False'] ~ input[type='submit']"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"test": [
|
|
23
|
+
{ "waitForVisible": "#cookie-consent.c-cookie-banner", "check": "none", "timeout": 3000, "optional": true },
|
|
24
|
+
{ "cookieContains": "%22statistics%22%3Afalse" }
|
|
25
|
+
]
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "radio-canada",
|
|
3
|
+
"cosmetic": true,
|
|
4
|
+
"prehideSelectors": [
|
|
5
|
+
"#js-legal-disclaimer.g-alert-cookie, #js-legal-disclaimer.cookie-consent-banner, #info-shell-legal-disclaimer, #oh-shell-legal-disclaimer"
|
|
6
|
+
],
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"exists": "#js-legal-disclaimer.g-alert-cookie, #js-legal-disclaimer.cookie-consent-banner, #info-shell-legal-disclaimer, #oh-shell-legal-disclaimer"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"visible": "#js-legal-disclaimer.g-alert-cookie, #js-legal-disclaimer.cookie-consent-banner, #info-shell-legal-disclaimer, #oh-shell-legal-disclaimer",
|
|
15
|
+
"check": "any"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": "#js-legal-disclaimer button.e-button-close, #js-legal-disclaimer button[data-close-cookie-disclaimer], #info-shell-legal-disclaimer button, #oh-shell-legal-disclaimer button"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"hide": "#js-legal-disclaimer.g-alert-cookie, #js-legal-disclaimer.cookie-consent-banner, #info-shell-legal-disclaimer, #oh-shell-legal-disclaimer"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "regjeringen.no",
|
|
3
|
+
"vendorUrl": "https://www.regjeringen.no/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(www\\.)?regjeringen\\.no/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#cb_wrapper-std #overlay-std"],
|
|
8
|
+
"detectCmp": [{ "exists": "#cb_wrapper-std #cookieApiData" }],
|
|
9
|
+
"detectPopup": [{ "visible": "#cb_wrapper-std #overlay-std #userSelect" }],
|
|
10
|
+
"optIn": [{ "waitForThenClick": "#cb_wrapper-std #userSelectAll" }],
|
|
11
|
+
"optOut": [{ "waitForThenClick": "#cb_wrapper-std #userSelect" }],
|
|
12
|
+
"test": [{ "waitForVisible": "#cb_wrapper-std #overlay-std", "check": "none", "timeout": 2000 }]
|
|
13
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "roll20",
|
|
3
|
+
"vendorUrl": "https://roll20.net/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https://([a-z0-9-]+\\.)?roll20\\.net/"
|
|
6
|
+
},
|
|
7
|
+
"prehideSelectors": ["#gdpr-notification"],
|
|
8
|
+
"detectCmp": [
|
|
9
|
+
{
|
|
10
|
+
"exists": "#gdpr-notification #banner-link-preferences"
|
|
11
|
+
}
|
|
12
|
+
],
|
|
13
|
+
"detectPopup": [
|
|
14
|
+
{
|
|
15
|
+
"visible": "#gdpr-notification"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"optIn": [
|
|
19
|
+
{
|
|
20
|
+
"waitForThenClick": "#gdpr-notification-dismiss-button"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"optOut": [
|
|
24
|
+
{
|
|
25
|
+
"waitForThenClick": "#banner-link-preferences"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"waitForVisible": "#cookie-modal .cookie-modal-content",
|
|
29
|
+
"timeout": 2000
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"if": {
|
|
33
|
+
"exists": "#cookie-modal-input:checked"
|
|
34
|
+
},
|
|
35
|
+
"then": [
|
|
36
|
+
{
|
|
37
|
+
"click": "#cookie-modal-input"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"click": "#cookie-modal-dismiss"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"test": [
|
|
46
|
+
{
|
|
47
|
+
"cookieContains": "gdpr_accepts_cookies=false"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "romeo",
|
|
3
|
+
"vendorUrl": "https://www.romeo.com/",
|
|
4
|
+
"runContext": {
|
|
5
|
+
"urlPattern": "^https?://(www\\.)?romeo\\.com/"
|
|
6
|
+
},
|
|
7
|
+
"detectCmp": [
|
|
8
|
+
{
|
|
9
|
+
"exists": "[role=dialog] form #cookie_consent_accept_all_button"
|
|
10
|
+
}
|
|
11
|
+
],
|
|
12
|
+
"detectPopup": [
|
|
13
|
+
{
|
|
14
|
+
"visible": "[role=dialog] form #cookie_consent_accept_all_button"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"optIn": [
|
|
18
|
+
{
|
|
19
|
+
"waitForThenClick": "[role=dialog] form #cookie_consent_accept_all_button"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"optOut": [
|
|
23
|
+
{
|
|
24
|
+
"waitForThenClick": "[role=dialog] form:has(#cookie_consent_accept_all_button) button[type=button]"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"waitForVisible": "[role=dialog] form input#analytical"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"if": {
|
|
31
|
+
"exists": "[role=dialog] form input#analytical:checked"
|
|
32
|
+
},
|
|
33
|
+
"then": [
|
|
34
|
+
{
|
|
35
|
+
"click": "[role=dialog] form input#analytical"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"click": "[role=dialog] form:has(input#analytical) button[type=submit]:not(#cookie_consent_accept_all_button)"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"waitForVisible": "[role=dialog] form #cookie_consent_accept_all_button",
|
|
44
|
+
"check": "none"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
@@ -9,12 +9,13 @@
|
|
|
9
9
|
],
|
|
10
10
|
"detectPopup": [
|
|
11
11
|
{
|
|
12
|
-
"visible": "#sd-cmp"
|
|
12
|
+
"visible": "#sd-cmp [role='dialog']",
|
|
13
|
+
"check": "any"
|
|
13
14
|
}
|
|
14
15
|
],
|
|
15
16
|
"optIn": [
|
|
16
17
|
{
|
|
17
|
-
"waitForThenClick": "#sd-cmp
|
|
18
|
+
"waitForThenClick": "#sd-cmp [data-sd-override='choiceButtons']"
|
|
18
19
|
}
|
|
19
20
|
],
|
|
20
21
|
"optOut": [
|
|
@@ -57,7 +58,11 @@
|
|
|
57
58
|
],
|
|
58
59
|
"else": [
|
|
59
60
|
{
|
|
60
|
-
"
|
|
61
|
+
"waitForVisible": "#sd-cmp [role='button'][title='Close']",
|
|
62
|
+
"check": "any"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"click": "#sd-cmp [role='button'][title='Close']"
|
|
61
66
|
}
|
|
62
67
|
]
|
|
63
68
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "site-notifications-cookie-usage",
|
|
3
|
+
"cosmetic": true,
|
|
4
|
+
"prehideSelectors": ["[data-t=\"site-notifications\"] [data-notice-key=\"cookie_usage\"]"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": "[data-t=\"site-notifications\"] [data-notice-key=\"cookie_usage\"]"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": "[data-t=\"site-notifications\"] [data-notice-key=\"cookie_usage\"]"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": "[data-notice-key=\"cookie_usage\"] a[href*=\"/consent?n=cookie_usage\"]"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"hide": "[data-t=\"site-notifications\"] [data-notice-key=\"cookie_usage\"]"
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "sparebank1-optin",
|
|
3
|
+
"vendorUrl": "https://www.sparebank1.no/",
|
|
4
|
+
"prehideSelectors": ["#opt-in .optin"],
|
|
5
|
+
"detectCmp": [{ "exists": "#opt-in .optin #optin--acceptAll" }],
|
|
6
|
+
"detectPopup": [{ "visible": "#opt-in .optin" }],
|
|
7
|
+
"optIn": [{ "waitForThenClick": "#opt-in #optin--acceptAll" }],
|
|
8
|
+
"optOut": [{ "waitForThenClick": "#opt-in #optin--rejectAll, #opt-in #optin--onlyNeeded" }],
|
|
9
|
+
"test": [{ "waitForVisible": "#opt-in .optin", "check": "none", "timeout": 2000 }]
|
|
10
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "stockholm-stad",
|
|
3
|
+
"vendorUrl": "https://start.stockholm/",
|
|
4
|
+
"prehideSelectors": [".js-cookie-banner.cookie-banner"],
|
|
5
|
+
"detectCmp": [
|
|
6
|
+
{
|
|
7
|
+
"exists": ".js-cookie-banner.cookie-banner #cookie-banner__settings .js-cookie-settings__form"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"detectPopup": [
|
|
11
|
+
{
|
|
12
|
+
"visible": ".js-cookie-banner.cookie-banner"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"optIn": [
|
|
16
|
+
{
|
|
17
|
+
"waitForThenClick": ".js-cookie-banner.cookie-banner .cookie-banner__actions .js-cookie-btn"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"optOut": [
|
|
21
|
+
{
|
|
22
|
+
"waitForThenClick": ".js-cookie-banner.cookie-banner .cookie-banner__actions .js-cookie-banner-settings-btn"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"waitForVisible": "#cookie-banner__settings .js-cookie-settings__form",
|
|
26
|
+
"timeout": 2000
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"click": "#cookie-banner__settings .js-cookie-settings__checkbox:checked:not(:disabled)",
|
|
30
|
+
"all": true,
|
|
31
|
+
"optional": true
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"click": "#cookie-banner__settings .cookie-settings__submit-btn"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"test": [
|
|
38
|
+
{
|
|
39
|
+
"cookieContains": "-consent-necessary=1"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
|
@@ -18,8 +18,26 @@
|
|
|
18
18
|
{
|
|
19
19
|
"waitForThenClick": "#controlled_submit-cookie_consent-consent_banner-privacy_setting_banner_link"
|
|
20
20
|
},
|
|
21
|
+
{ "waitForVisible": "#controlled_banner-cookie_consent-privacy_setting_banner" },
|
|
21
22
|
{
|
|
22
|
-
"
|
|
23
|
+
"if": {
|
|
24
|
+
"exists": "#controlled_banner-cookie_consent-privacy_setting_banner [data-search-key-button=reject_all_text]"
|
|
25
|
+
},
|
|
26
|
+
"then": [
|
|
27
|
+
{
|
|
28
|
+
"waitForThenClick": "#controlled_banner-cookie_consent-privacy_setting_banner [data-search-key-button=reject_all_text]"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"else": [
|
|
32
|
+
{
|
|
33
|
+
"click": "#controlled_banner-cookie_consent-privacy_setting_banner [role=checkbox][aria-checked=true]",
|
|
34
|
+
"all": true,
|
|
35
|
+
"optional": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"waitForThenClick": "#controlled_banner-cookie_consent-privacy_setting_banner [data-search-key-button=save_settings_text]"
|
|
39
|
+
}
|
|
40
|
+
]
|
|
23
41
|
}
|
|
24
42
|
]
|
|
25
43
|
},
|