xref: /aosp_15_r20/external/cronet/net/data/websocket/close_observer.html (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker<!doctype html>
2*6777b538SAndroid Build Coastguard Worker<title>Observe the connection from a closed tab "Going Away"</title>
3*6777b538SAndroid Build Coastguard Worker<script>
4*6777b538SAndroid Build Coastguard Worker'use strict';
5*6777b538SAndroid Build Coastguard Worker
6*6777b538SAndroid Build Coastguard Workerlet protocol = location.protocol.replace('http', 'ws');
7*6777b538SAndroid Build Coastguard Workerlet url = protocol + '//' + location.host + '/close-observer?role=observer';
8*6777b538SAndroid Build Coastguard Worker
9*6777b538SAndroid Build Coastguard Worker// Do connection test.
10*6777b538SAndroid Build Coastguard Workerlet ws = new WebSocket(url);
11*6777b538SAndroid Build Coastguard Worker
12*6777b538SAndroid Build Coastguard Workerconst id = setTimeout(() => {
13*6777b538SAndroid Build Coastguard Worker  console.log('close_observer.html had timeout');
14*6777b538SAndroid Build Coastguard Worker  document.title = 'FAIL';
15*6777b538SAndroid Build Coastguard Worker}, 3000);
16*6777b538SAndroid Build Coastguard Worker
17*6777b538SAndroid Build Coastguard Workerws.onmessage = e => {
18*6777b538SAndroid Build Coastguard Worker  clearTimeout(id);
19*6777b538SAndroid Build Coastguard Worker  console.log('close_observer.html got message: ' + e.data);
20*6777b538SAndroid Build Coastguard Worker  document.title = (e.data === 'OK' ? 'PASS' : 'FAIL');
21*6777b538SAndroid Build Coastguard Worker  ws.onclose = null;
22*6777b538SAndroid Build Coastguard Worker}
23*6777b538SAndroid Build Coastguard Worker
24*6777b538SAndroid Build Coastguard Workerws.onclose = () => {
25*6777b538SAndroid Build Coastguard Worker  clearTimeout(id);
26*6777b538SAndroid Build Coastguard Worker  console.log('close_observer.html saw close with no message');
27*6777b538SAndroid Build Coastguard Worker  document.title = 'FAIL';
28*6777b538SAndroid Build Coastguard Worker}
29*6777b538SAndroid Build Coastguard Worker
30*6777b538SAndroid Build Coastguard Worker</script>
31