@duckduckgo/autoconsent 1.0.6 → 1.0.7
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/dist/autoconsent.cjs.js +13 -1
- package/dist/autoconsent.esm.js +13 -1
- package/dist/autoconsent.puppet.js +2 -0
- package/lib/cmps/onetrust.js +3 -1
- package/lib/cmps/onetrust.ts +7 -1
- package/lib/web/content.js +11 -1
- package/lib/web/content.ts +10 -1
- package/package.json +1 -1
- package/rules/autoconsent/aws-amazon.json +1 -1
- package/rules/autoconsent/bundesregierung-de.json +1 -1
- package/rules/rules.json +3 -1
package/dist/autoconsent.cjs.js
CHANGED
|
@@ -701,7 +701,17 @@ function handleMessage(message, debug = false) {
|
|
|
701
701
|
const elem = document.querySelectorAll(message.selector);
|
|
702
702
|
const results = new Array(elem.length);
|
|
703
703
|
elem.forEach((e, i) => {
|
|
704
|
-
|
|
704
|
+
// check for display: none
|
|
705
|
+
results[i] = false;
|
|
706
|
+
if (e.offsetParent !== null) {
|
|
707
|
+
results[i] = true;
|
|
708
|
+
}
|
|
709
|
+
else {
|
|
710
|
+
const css = window.getComputedStyle(e);
|
|
711
|
+
if (css.position === 'fixed' && css.display !== "none") { // fixed elements may be visible even if the parent is not
|
|
712
|
+
results[i] = true;
|
|
713
|
+
}
|
|
714
|
+
}
|
|
705
715
|
});
|
|
706
716
|
debug && console.log("[visible?]", message.selector, elem, results);
|
|
707
717
|
if (results.length === 0) {
|
|
@@ -1190,6 +1200,8 @@ class Onetrust extends AutoConsentBase {
|
|
|
1190
1200
|
await success(tab.wait(1000));
|
|
1191
1201
|
await tab.clickElements("#onetrust-consent-sdk input.category-switch-handler:checked,.js-editor-toggle-state:checked"); // optional step
|
|
1192
1202
|
await success(tab.waitForThenClick(".save-preference-btn-handler,.js-consent-save", 1000));
|
|
1203
|
+
// popup doesn't disappear immediately
|
|
1204
|
+
await waitFor(async () => !(await tab.elementsAreVisible("#onetrust-banner-sdk")), 10, 500);
|
|
1193
1205
|
return true;
|
|
1194
1206
|
}
|
|
1195
1207
|
async optIn(tab) {
|
package/dist/autoconsent.esm.js
CHANGED
|
@@ -697,7 +697,17 @@ function handleMessage(message, debug = false) {
|
|
|
697
697
|
const elem = document.querySelectorAll(message.selector);
|
|
698
698
|
const results = new Array(elem.length);
|
|
699
699
|
elem.forEach((e, i) => {
|
|
700
|
-
|
|
700
|
+
// check for display: none
|
|
701
|
+
results[i] = false;
|
|
702
|
+
if (e.offsetParent !== null) {
|
|
703
|
+
results[i] = true;
|
|
704
|
+
}
|
|
705
|
+
else {
|
|
706
|
+
const css = window.getComputedStyle(e);
|
|
707
|
+
if (css.position === 'fixed' && css.display !== "none") { // fixed elements may be visible even if the parent is not
|
|
708
|
+
results[i] = true;
|
|
709
|
+
}
|
|
710
|
+
}
|
|
701
711
|
});
|
|
702
712
|
debug && console.log("[visible?]", message.selector, elem, results);
|
|
703
713
|
if (results.length === 0) {
|
|
@@ -1186,6 +1196,8 @@ class Onetrust extends AutoConsentBase {
|
|
|
1186
1196
|
await success(tab.wait(1000));
|
|
1187
1197
|
await tab.clickElements("#onetrust-consent-sdk input.category-switch-handler:checked,.js-editor-toggle-state:checked"); // optional step
|
|
1188
1198
|
await success(tab.waitForThenClick(".save-preference-btn-handler,.js-consent-save", 1000));
|
|
1199
|
+
// popup doesn't disappear immediately
|
|
1200
|
+
await waitFor(async () => !(await tab.elementsAreVisible("#onetrust-banner-sdk")), 10, 500);
|
|
1189
1201
|
return true;
|
|
1190
1202
|
}
|
|
1191
1203
|
async optIn(tab) {
|
|
@@ -956,6 +956,8 @@ class Onetrust extends AutoConsentBase {
|
|
|
956
956
|
await success(tab.wait(1000));
|
|
957
957
|
await tab.clickElements("#onetrust-consent-sdk input.category-switch-handler:checked,.js-editor-toggle-state:checked"); // optional step
|
|
958
958
|
await success(tab.waitForThenClick(".save-preference-btn-handler,.js-consent-save", 1000));
|
|
959
|
+
// popup doesn't disappear immediately
|
|
960
|
+
await waitFor(async () => !(await tab.elementsAreVisible("#onetrust-banner-sdk")), 10, 500);
|
|
959
961
|
return true;
|
|
960
962
|
}
|
|
961
963
|
async optIn(tab) {
|
package/lib/cmps/onetrust.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AutoConsentBase, { success } from "./base";
|
|
1
|
+
import AutoConsentBase, { success, waitFor } from "./base";
|
|
2
2
|
export default class Onetrust extends AutoConsentBase {
|
|
3
3
|
constructor() {
|
|
4
4
|
super("Onetrust");
|
|
@@ -21,6 +21,8 @@ export default class Onetrust extends AutoConsentBase {
|
|
|
21
21
|
await success(tab.wait(1000));
|
|
22
22
|
await tab.clickElements("#onetrust-consent-sdk input.category-switch-handler:checked,.js-editor-toggle-state:checked"); // optional step
|
|
23
23
|
await success(tab.waitForThenClick(".save-preference-btn-handler,.js-consent-save", 1000));
|
|
24
|
+
// popup doesn't disappear immediately
|
|
25
|
+
await waitFor(async () => !(await tab.elementsAreVisible("#onetrust-banner-sdk")), 10, 500);
|
|
24
26
|
return true;
|
|
25
27
|
}
|
|
26
28
|
async optIn(tab) {
|
package/lib/cmps/onetrust.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import AutoConsentBase, { success } from "./base";
|
|
1
|
+
import AutoConsentBase, { success, waitFor } from "./base";
|
|
2
2
|
import { TabActor } from "../types";
|
|
3
3
|
|
|
4
4
|
export default class Onetrust extends AutoConsentBase {
|
|
@@ -28,6 +28,12 @@ export default class Onetrust extends AutoConsentBase {
|
|
|
28
28
|
await success(tab.wait(1000));
|
|
29
29
|
await tab.clickElements("#onetrust-consent-sdk input.category-switch-handler:checked,.js-editor-toggle-state:checked"); // optional step
|
|
30
30
|
await success(tab.waitForThenClick(".save-preference-btn-handler,.js-consent-save", 1000));
|
|
31
|
+
// popup doesn't disappear immediately
|
|
32
|
+
await waitFor(
|
|
33
|
+
async () => !(await tab.elementsAreVisible("#onetrust-banner-sdk")),
|
|
34
|
+
10,
|
|
35
|
+
500
|
|
36
|
+
);
|
|
31
37
|
return true;
|
|
32
38
|
}
|
|
33
39
|
|
package/lib/web/content.js
CHANGED
|
@@ -24,7 +24,17 @@ export default function handleMessage(message, debug = false) {
|
|
|
24
24
|
const elem = document.querySelectorAll(message.selector);
|
|
25
25
|
const results = new Array(elem.length);
|
|
26
26
|
elem.forEach((e, i) => {
|
|
27
|
-
|
|
27
|
+
// check for display: none
|
|
28
|
+
results[i] = false;
|
|
29
|
+
if (e.offsetParent !== null) {
|
|
30
|
+
results[i] = true;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
const css = window.getComputedStyle(e);
|
|
34
|
+
if (css.position === 'fixed' && css.display !== "none") { // fixed elements may be visible even if the parent is not
|
|
35
|
+
results[i] = true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
28
38
|
});
|
|
29
39
|
debug && console.log("[visible?]", message.selector, elem, results);
|
|
30
40
|
if (results.length === 0) {
|
package/lib/web/content.ts
CHANGED
|
@@ -24,7 +24,16 @@ export default function handleMessage(message: ContentScriptMessage, debug = fal
|
|
|
24
24
|
const elem = document.querySelectorAll<HTMLElement>(message.selector);
|
|
25
25
|
const results = new Array(elem.length);
|
|
26
26
|
elem.forEach((e, i) => {
|
|
27
|
-
|
|
27
|
+
// check for display: none
|
|
28
|
+
results[i] = false;
|
|
29
|
+
if (e.offsetParent !== null) {
|
|
30
|
+
results[i] = true;
|
|
31
|
+
} else {
|
|
32
|
+
const css = window.getComputedStyle(e);
|
|
33
|
+
if (css.position === 'fixed' && css.display !== "none") { // fixed elements may be visible even if the parent is not
|
|
34
|
+
results[i] = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
28
37
|
});
|
|
29
38
|
debug && console.log("[visible?]", message.selector, elem, results);
|
|
30
39
|
if (results.length === 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aws.amazon.com",
|
|
3
|
-
"prehideSelectors": ["#awsccc-cb-content", "#awsccc-cs-container-inner"],
|
|
3
|
+
"prehideSelectors": ["#awsccc-cb-content", "#awsccc-cs-container", "#awsccc-cs-modalOverlay", "#awsccc-cs-container-inner"],
|
|
4
4
|
"detectCmp": [{ "exists": "#awsccc-cb-content" }],
|
|
5
5
|
"detectPopup": [{ "visible": "#awsccc-cb-content" }],
|
|
6
6
|
"optIn": [{ "click": "button[data-id=awsccc-cb-btn-accept" }],
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "bundesregierung.de",
|
|
3
3
|
"prehideSelectors": [".bpa-cookie-banner"],
|
|
4
4
|
"detectCmp": [{ "exists": ".bpa-cookie-banner" }],
|
|
5
|
-
"detectPopup": [{ "visible": ".bpa-module-full-hero" }],
|
|
5
|
+
"detectPopup": [{ "visible": ".bpa-cookie-banner .bpa-module-full-hero" }],
|
|
6
6
|
"optIn": [{ "click": ".bpa-accept-all-button" }],
|
|
7
7
|
"optOut": [
|
|
8
8
|
{
|
package/rules/rules.json
CHANGED
|
@@ -56,6 +56,8 @@
|
|
|
56
56
|
"name": "aws.amazon.com",
|
|
57
57
|
"prehideSelectors": [
|
|
58
58
|
"#awsccc-cb-content",
|
|
59
|
+
"#awsccc-cs-container",
|
|
60
|
+
"#awsccc-cs-modalOverlay",
|
|
59
61
|
"#awsccc-cs-container-inner"
|
|
60
62
|
],
|
|
61
63
|
"detectCmp": [
|
|
@@ -146,7 +148,7 @@
|
|
|
146
148
|
],
|
|
147
149
|
"detectPopup": [
|
|
148
150
|
{
|
|
149
|
-
"visible": ".bpa-module-full-hero"
|
|
151
|
+
"visible": ".bpa-cookie-banner .bpa-module-full-hero"
|
|
150
152
|
}
|
|
151
153
|
],
|
|
152
154
|
"optIn": [
|