summaryrefslogtreecommitdiffstats
path: root/toolkit/components/aboutperformance/tests/browser/workers_memory.html
blob: a39e68723a512d7e37fb6e9bda80694a6f7e5320 (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
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>
    Main frame for test browser_aboutperformance.js
  </title>
</head>
<body>

<p>
Result: <span id="result">?</span>
</p>

</body>
<script>
  var result = document.querySelector('#result');
  var worker = new Worker("workers_memory_script.js");
  var n = 1;

  var waitPromise = new Promise(ready => {
    worker.onmessage = function(event) {
      result.textContent = event.data;
      ready();

      // We seem to need to keep the worker doing something to keep the
      // memory usage up.
      setTimeout(() => {
        n++;
        worker.postMessage(n);
      }, 1000);
    };
  });

  worker.postMessage(n);

  window.waitForTestReady = async () => {
    await waitPromise;
  };
</script>
</html>