Files
sousa-gecko/testing/web-platform/tests/fetch/local-network-access/resources/websocket.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

43 lines
1.3 KiB
HTML

<!DOCTYPE html>
<meta charset="utf-8">
<title>WebSocket</title>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="support.sub.js"></script>
<script>
"use strict";
// Set the 'loopback-network' permission then attempt to open a websocket
// connection to the loopback address space.
//
// By default, 'loopback-network' permission is set to 'granted'. This can
// be changed by passing in a different value via the 'permission' URL parameter.
// Valid values:
//
// * granted
// * denied
// * prompt
Promise.resolve().then(async () => {
const window_url = new URL(window.location.href);
let permission_name = 'loopback-network'
let permission_value = 'granted';
if (window_url.searchParams.has('permission')) {
permission_value = window_url.searchParams.get('permission');
}
test_driver.set_test_context(opener);
await test_driver.set_permission({ name: permission_name }, permission_value);
const targetUrl = resolveUrl("/echo", Server.WSS_LOOPBACK);
const socket = new WebSocket(targetUrl);
socket.onopen = () => {
opener.postMessage("open", "*");
};
socket.onclose = (evt) => {
opener.postMessage(`close: code ${evt.code}`, "*");
};
});
</script>