summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/fenced-frame/resources/badging-sw.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/fenced-frame/resources/badging-sw.js')
-rw-r--r--testing/web-platform/tests/fenced-frame/resources/badging-sw.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fenced-frame/resources/badging-sw.js b/testing/web-platform/tests/fenced-frame/resources/badging-sw.js
new file mode 100644
index 0000000000..5bc3c9a190
--- /dev/null
+++ b/testing/web-platform/tests/fenced-frame/resources/badging-sw.js
@@ -0,0 +1,23 @@
+self.addEventListener('install', e => e.waitUntil(skipWaiting()));
+self.addEventListener('activate', e => e.waitUntil(clients.claim()));
+
+self.addEventListener('message', async e => {
+ const method = e.data;
+
+ let promise;
+ if (method === 'setAppBadge') {
+ promise = self.navigator.setAppBadge(1);
+ } else if (method === 'clearAppBadge') {
+ promise = self.navigator.clearAppBadge();
+ } else {
+ promise = Promise.resolve();
+ }
+
+ const error = await promise
+ .then(() => {
+ return `[Badging API ${method}] Unexpectedly started`;
+ })
+ .catch((e) => e);
+
+ e.source.postMessage(error);
+});