Files
sousa-gecko/testing/web-platform/tests/fetch/local-network-access/websocket.tentative.https.html
T
Hubert Chao f9aac88916 Bug 2020550 [wpt PR 58203] - [LNA] add LNA WebSocket WPT, a=testonly
Automatic update from web-platform-tests
[LNA] add LNA WebSocket WPT

Add an initial set of LNA WebSocket WPTs. This only tests public -> loopback and local -> loopback because there are only loopback websocket servers set up (see https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/config.tmpl.json and https://source.chromium.org/chromium/chromium/src/+/main:third_party/wpt_tools/wpt/tools/wptrunner/wptrunner/browsers/chrome.py;l=164-168;drc=aa6d692165ec004179933677be7bccbd0b454435)

also includes fixing the permission name in iframer.html

Bug: 421156866,406991278
Change-Id: I38408588126574a90bd00d4670063b53fed7b5fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7622865
Reviewed-by: Chris Thompson <cthomp@chromium.org>
Commit-Queue: Hubert Chao <hchao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1593161}

--

wpt-commits: 5b9b668f7b09dbf174f70e59b0cf305ae4594bc1
wpt-pr: 58203
2026-03-10 15:43:54 +00:00

88 lines
2.8 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8">
<title>LNA Fetch tests: HTTPS </title>
<body>
<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/support.sub.js"></script>
<script>
"use strict";
promise_test(t => {
const sourceUrl = resolveUrl("resources/websocket.html",
sourceResolveOptions({ server: Server.HTTPS_PUBLIC }));
function checkResult(evt) {
assert_equals(evt.data, WebsocketTestResult.SUCCESS);
t.done();
}
const promise = new Promise((resolve) => {
window.addEventListener('message', resolve, {once: true});
}).then(checkResult);
const popup = window.open(sourceUrl);
t.add_cleanup(() => popup.close());
return promise;
}, 'LNA Public to loopback websocket with permission');
promise_test(t => {
const sourceUrl = resolveUrl("resources/websocket.html?permission=denied",
sourceResolveOptions({ server: Server.HTTPS_PUBLIC }));
function checkResult(evt) {
assert_equals(evt.data, WebsocketTestResult.FAILURE);
t.done();
}
const promise = new Promise((resolve) => {
window.addEventListener('message', resolve, {once: true});
}).then(checkResult);
const popup = window.open(sourceUrl);
t.add_cleanup(() => popup.close());
return promise;
}, 'LNA Public to loopback websocket without permission');
promise_test(t => {
const sourceUrl = resolveUrl("resources/websocket.html",
sourceResolveOptions({ server: Server.HTTPS_LOCAL }));
function checkResult(evt) {
assert_equals(evt.data, WebsocketTestResult.SUCCESS);
t.done();
}
const promise = new Promise((resolve) => {
window.addEventListener('message', resolve, {once: true});
}).then(checkResult);
const popup = window.open(sourceUrl);
t.add_cleanup(() => popup.close());
return promise;
}, 'LNA local to loopback websocket with permission');
promise_test(t => {
const sourceUrl = resolveUrl("resources/websocket.html?permission=denied",
sourceResolveOptions({ server: Server.HTTPS_LOCAL }));
// No permission necessary, so connection should still succeed.
function checkResult(evt) {
assert_equals(evt.data, WebsocketTestResult.SUCCESS);
t.done();
}
const promise = new Promise((resolve) => {
window.addEventListener('message', resolve, {once: true});
}).then(checkResult);
const popup = window.open(sourceUrl);
t.add_cleanup(() => popup.close());
return promise;
}, 'LNA local to loopback websocket without permission');
</script>
</body>