| // META: script=/resources/testdriver.js | |
| // META: script=/resources/testdriver-vendor.js | |
| // META: script=/notifications/resources/helpers.js | |
| promise_setup(async () => { | |
| await trySettingPermission("granted"); | |
| await prepareActiveServiceWorker("push-sw.js"); | |
| }); | |
| promise_test(async () => { | |
| // (no `sender` URL parameter needed as this worker is the only sender) | |
| const worker = new Worker("./resources/permission-worker.js", { type: "module" }); | |
| const { promise, resolve } = Promise.withResolvers(); | |
| worker.onmessage = ev => { | |
| if ("subscribed" in ev.data) { | |
| resolve(ev.data) | |
| } | |
| }; | |
| const result = await promise; | |
| assert_true(result.subscribed, `subscription should happen`); | |
| }, "Subscribing within a worker"); |