xref: /aosp_15_r20/external/cronet/net/data/websocket/connect_check.html (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker<!DOCTYPE html>
2*6777b538SAndroid Build Coastguard Worker<html>
3*6777b538SAndroid Build Coastguard Worker<head>
4*6777b538SAndroid Build Coastguard Worker<title>test ws connection</title>
5*6777b538SAndroid Build Coastguard Worker<script type="text/javascript">
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Workervar pageConnection = new Promise((resolve, reject) => {
8*6777b538SAndroid Build Coastguard Worker  var protocol = location.protocol.replace('http', 'ws');
9*6777b538SAndroid Build Coastguard Worker  var url = protocol + '//' + location.host + '/echo-with-no-extension';
10*6777b538SAndroid Build Coastguard Worker  var ws = new WebSocket(url);
11*6777b538SAndroid Build Coastguard Worker
12*6777b538SAndroid Build Coastguard Worker  ws.onopen = resolve;
13*6777b538SAndroid Build Coastguard Worker  ws.onclose = reject;
14*6777b538SAndroid Build Coastguard Worker});
15*6777b538SAndroid Build Coastguard Worker
16*6777b538SAndroid Build Coastguard Workervar workerConnection = new Promise((resolve, reject) => {
17*6777b538SAndroid Build Coastguard Worker  let worker = new Worker('./connect_check_worker.js');
18*6777b538SAndroid Build Coastguard Worker  worker.onmessage = event => {
19*6777b538SAndroid Build Coastguard Worker    if (event.data === 'PASS') {
20*6777b538SAndroid Build Coastguard Worker      resolve();
21*6777b538SAndroid Build Coastguard Worker    } else if (event.data === 'FAIL') {
22*6777b538SAndroid Build Coastguard Worker      reject();
23*6777b538SAndroid Build Coastguard Worker    }
24*6777b538SAndroid Build Coastguard Worker  };
25*6777b538SAndroid Build Coastguard Worker  worker.onerror = reject;
26*6777b538SAndroid Build Coastguard Worker
27*6777b538SAndroid Build Coastguard Worker  // Start the worker.
28*6777b538SAndroid Build Coastguard Worker  worker.postMessage('');
29*6777b538SAndroid Build Coastguard Worker});
30*6777b538SAndroid Build Coastguard Worker
31*6777b538SAndroid Build Coastguard WorkerPromise.all([pageConnection, workerConnection]).then(() => {
32*6777b538SAndroid Build Coastguard Worker  // Set document title to 'PASS'. The test observer catches this title changes
33*6777b538SAndroid Build Coastguard Worker  // to know the result.
34*6777b538SAndroid Build Coastguard Worker  document.title = 'PASS';
35*6777b538SAndroid Build Coastguard Worker}, () => {
36*6777b538SAndroid Build Coastguard Worker  // Set document title to 'FAIL'.
37*6777b538SAndroid Build Coastguard Worker  document.title = 'FAIL';
38*6777b538SAndroid Build Coastguard Worker});
39*6777b538SAndroid Build Coastguard Worker
40*6777b538SAndroid Build Coastguard Worker</script>
41*6777b538SAndroid Build Coastguard Worker</head>
42*6777b538SAndroid Build Coastguard Worker</html>
43