summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/workers/non-automated/navigator-onLine.html
blob: d71aeaf0a88ee5ec2456a7db0870f57c84f03623 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!--
if ('onmessage' in self) { // dedicated worker
  onmessage = function(e) {
    postMessage(navigator.onLine);
  }
} else { // shared worker
  onconnect = function(e) {
    e.ports[0].onmessage = function(e) {
      this.postMessage(navigator.onLine);
    }
  }
}
/*
-->
<!doctype html>
<title>navigator.onLine in dedicated worker</title>
<pre>Log:
</pre>
<script>
var pre = document.querySelector('pre');
var worker, shared;
try { worker = new Worker('#'); } catch(e) { pre.textContent += '\nnew Worker threw: ' + e.message; }
try { shared = new SharedWorker('#', ''); } catch(e) { pre.textContent += '\nnew SharedWorker threw: ' + e.message; }
if (worker) {
  worker.onmessage = function(e) {
    pre.textContent += '\ndedicated worker: ' + e.data;
  }
}
if (shared) {
  shared.port.onmessage = function(e) {
    pre.textContent += '\nshared worker: ' + e.data;
  }
}
function update() {
  pre.textContent += '\n\n' + new Date() + '\n<script>: ' + navigator.onLine;
  if (worker) worker.postMessage(1);
  if (shared) shared.port.postMessage(1);
}
update();
ononline = onoffline = update;
</script>
<p>As you go online and offline, the log should be filled with the correct status of navigator.onLine.</p>
<p><button onclick="update()">Check navigator.onLine status</button></p>
<!--
*/
//-->