summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/beacon/beacon-navigate.https.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/beacon/beacon-navigate.https.window.js')
-rw-r--r--testing/web-platform/tests/beacon/beacon-navigate.https.window.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/testing/web-platform/tests/beacon/beacon-navigate.https.window.js b/testing/web-platform/tests/beacon/beacon-navigate.https.window.js
new file mode 100644
index 0000000000..8b42a47cd9
--- /dev/null
+++ b/testing/web-platform/tests/beacon/beacon-navigate.https.window.js
@@ -0,0 +1,23 @@
+// META: timeout=long
+// META: script=/common/utils.js
+// META: script=/common/get-host-info.sub.js
+// META: script=beacon-common.sub.js
+
+'use strict';
+
+const {HTTP_REMOTE_ORIGIN} = get_host_info();
+
+for (const type of [STRING, ARRAYBUFFER, FORM, BLOB]) {
+ parallelPromiseTest(async (t) => {
+ const iframe = document.createElement('iframe');
+ document.body.appendChild(iframe);
+ t.add_cleanup(() => iframe.remove());
+
+ const payload = makePayload(SMALL, type);
+ const id = token();
+ const url = `/beacon/resources/beacon.py?cmd=store&id=${id}`;
+ assert_true(iframe.contentWindow.navigator.sendBeacon(url, payload));
+
+ iframe.src = `${HTTP_REMOTE_ORIGIN}/common/blank.html`;
+ }, `The frame navigates away after calling sendBeacon[type = ${type}].`);
+}