mirror of
https://github.com/servo/servo.git
synced 2025-07-10 08:53:41 +01:00
28 lines
954 B
JavaScript
28 lines
954 B
JavaScript
function message_from_port(port) {
|
|
return new Promise(resolve => {
|
|
port.onmessage = e => resolve(e.data);
|
|
});
|
|
}
|
|
|
|
promise_test(async t => {
|
|
const run_result = 'worker_OK';
|
|
const blob_contents = 'self.postMessage("' + run_result + '");';
|
|
const blob = new Blob([blob_contents]);
|
|
const url = URL.createObjectURL(blob);
|
|
|
|
const worker = new Worker(url);
|
|
const reply = await message_from_port(worker);
|
|
assert_equals(reply, run_result);
|
|
}, 'Creating a dedicated worker from a blob URL works.');
|
|
|
|
promise_test(async t => {
|
|
const run_result = 'worker_OK';
|
|
const blob_contents = 'self.postMessage("' + run_result + '");';
|
|
const blob = new Blob([blob_contents]);
|
|
const url = URL.createObjectURL(blob);
|
|
|
|
const worker = new Worker(url);
|
|
URL.revokeObjectURL(url);
|
|
const reply = await message_from_port(worker);
|
|
assert_equals(reply, run_result);
|
|
}, 'Creating a dedicated worker from a blob URL works immediately before revoking.');
|