summaryrefslogtreecommitdiff
path: root/runtime/js/11_workers.js
diff options
context:
space:
mode:
authorRicardo Iván Vieitez Parra <3857362+corrideat@users.noreply.github.com>2023-07-31 23:22:07 +0200
committerGitHub <noreply@github.com>2023-07-31 23:22:07 +0200
commit98403691d100fec0804c86d8b89d0d3f8da68354 (patch)
tree2757dc1a0ed392a9f2ca403903a078c6f61e8605 /runtime/js/11_workers.js
parentaa8078b6888ee4d55ef348e336e076676dffc25f (diff)
fix: call setIsTrusted for generated events (MessageEvent) (#19919)
This addresses issue #19918. ## Issue description Event messages have the wrong isTrusted value when they are not triggered by user interaction, which differs from the browser. In particular, all MessageEvents created by Deno have isTrusted set to false, even though it should be true. This is my first ever contribution to Deno, so I might be missing something.
Diffstat (limited to 'runtime/js/11_workers.js')
-rw-r--r--runtime/js/11_workers.js3
1 files changed, 3 insertions, 0 deletions
diff --git a/runtime/js/11_workers.js b/runtime/js/11_workers.js
index e04690005..f5548d8d1 100644
--- a/runtime/js/11_workers.js
+++ b/runtime/js/11_workers.js
@@ -22,6 +22,7 @@ import {
ErrorEvent,
EventTarget,
MessageEvent,
+ setIsTrusted,
} from "ext:deno_web/02_event.js";
import {
deserializeJsMessageData,
@@ -187,6 +188,7 @@ class Worker extends EventTarget {
cancelable: false,
data: err,
});
+ setIsTrusted(event, true);
this.dispatchEvent(event);
return;
}
@@ -198,6 +200,7 @@ class Worker extends EventTarget {
(t) => ObjectPrototypeIsPrototypeOf(MessagePortPrototype, t),
),
});
+ setIsTrusted(event, true);
this.dispatchEvent(event);
}
};