mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-29 12:49:05 +00:00
LibWeb: Implement DedicatedWorkerGlobalScope postMessage(msg, transfer)
Unfortunately the added test (which passes locally) is skipped as it is based off other Worker tests which are also skipped due to being flakey in CI.
This commit is contained in:
parent
70599d3f8d
commit
755b63132b
Notes:
github-actions[bot]
2024-10-28 22:33:18 +00:00
Author: https://github.com/shannonbooth
Commit: 755b63132b
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2022
6 changed files with 43 additions and 2 deletions
|
@ -0,0 +1,29 @@
|
|||
<script src="../include.js"></script>
|
||||
<script>
|
||||
asyncTest((done) => {
|
||||
const workerScript = `
|
||||
self.onmessage = function(evt) {
|
||||
const receivedBuffer = evt.data;
|
||||
self.postMessage(receivedBuffer, [receivedBuffer]);
|
||||
};
|
||||
`;
|
||||
|
||||
const blob = new Blob([workerScript], { type: 'application/javascript' });
|
||||
const workerScriptURL = URL.createObjectURL(blob);
|
||||
const worker = new Worker(workerScriptURL);
|
||||
|
||||
worker.onmessage = function(evt) {
|
||||
const bufTransferredBackFromWorker = evt.data;
|
||||
const decoder = new TextDecoder();
|
||||
|
||||
println('Message received from worker: ' + decoder.decode(bufTransferredBackFromWorker));
|
||||
done();
|
||||
};
|
||||
|
||||
const encoder = new TextEncoder();
|
||||
const message = encoder.encode("Hello, world");
|
||||
const myBuf = message.buffer;
|
||||
|
||||
worker.postMessage(myBuf, [myBuf]);
|
||||
});
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue