| // 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"); |