feat(Page): introduce workers (#2560)

This adds `page.workers()`, and two events `workercreated` and `workerdestroyed`. It also forwards logs from a worker into the page `console` event.

Only dedicated workers are supported for now, ServiceWorkers will probably work differently because they aren't necessarily associated with a single page.

Fixes #2350.
This commit is contained in:
Joel Einbinder
2018-05-21 14:31:11 -07:00
committed by Andrey Lushnikov
parent b474f2ce87
commit 93fe2b57d6
9 changed files with 228 additions and 7 deletions

View File

@@ -0,0 +1,16 @@
console.log('hello from the worker');
function workerFunction() {
return 'worker function result';
}
self.addEventListener('message', event => {
console.log('got this data: ' + event.data);
});
(async function() {
while (true) {
self.postMessage(workerFunction.toString());
await new Promise(x => setTimeout(x, 100));
}
})();