PersonalityProvider.worker.mjs (1032B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 import { PersonalityProviderWorker } from "resource://newtab/lib/PersonalityProvider/PersonalityProviderWorkerClass.mjs"; 6 7 import { PromiseWorker } from "resource://gre/modules/workers/PromiseWorker.mjs"; 8 9 const personalityProviderWorker = new PersonalityProviderWorker(); 10 11 // This is boiler plate worker stuff that connects it to the main thread PromiseWorker. 12 const worker = new PromiseWorker.AbstractWorker(); 13 worker.dispatch = function (method, args = []) { 14 return personalityProviderWorker[method](...args); 15 }; 16 worker.postMessage = function (message, ...transfers) { 17 self.postMessage(message, ...transfers); 18 }; 19 worker.close = function () { 20 self.close(); 21 }; 22 23 self.addEventListener("message", msg => worker.handleMessage(msg)); 24 self.addEventListener("unhandledrejection", function (error) { 25 throw error.reason; 26 });