summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/notifications/shownotification-window.https.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/notifications/shownotification-window.https.html')
-rw-r--r--testing/web-platform/tests/notifications/shownotification-window.https.html37
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/web-platform/tests/notifications/shownotification-window.https.html b/testing/web-platform/tests/notifications/shownotification-window.https.html
new file mode 100644
index 0000000000..b21a5621df
--- /dev/null
+++ b/testing/web-platform/tests/notifications/shownotification-window.https.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/resources/testdriver.js"></script>
+<script src="/resources/testdriver-vendor.js"></script>
+<script src="resources/helpers.js"></script>
+<iframe id="iframe" src="resources/shownotification-window-iframe.html"></iframe>
+<script>
+/** @type {ServiceWorkerRegistration} */
+let registration;
+
+promise_setup(async (t) => {
+ await trySettingPermission("granted");
+ registration = await getActiveServiceWorker("noop-sw.js");
+ await closeAllNotifications();
+});
+
+promise_test(async (t) => {
+ t.add_cleanup(closeAllNotifications);
+
+ if (iframe.contentDocument.readyState !== "complete") {
+ await new Promise(resolve => iframe.onload = resolve);
+ }
+
+ await iframe.contentWindow.showNotification();
+ let notifications = await registration.getNotifications();
+ assert_equals(notifications.length, 1, "Should persist the notification");
+
+ iframe.contentWindow.location.reload();
+ // Wait for some time for potential notification close requests to be sent
+ await new Promise(resolve => iframe.onload = resolve);
+ notifications = await registration.getNotifications();
+ assert_equals(notifications.length, 1, "Should keep the notification");
+}, 'Refreshing window does not clear persistent notifications');
+</script>
+</body>