chromium/content/test/data/workers/multi_worker.html

<html>

<head>
<title>Multi-Worker Test</title>

<script src="worker_utils.js"></script>

<script>

var expected_total = 0;
var actual_total = 0;
var completed_worker_count = 0;
var total_workers = 4;

function createWorker(base) {
  var worker = getWorker("worker_common.js");
  for (var i = 0; i < 100; i++) {
    worker.postMessage("eval " + base + "+" + i);
    expected_total += base + i;
  }
  worker.postMessage("ping");
  worker.onmessage = function(evt) {
    if (evt.data == "pong") {
      completed_worker_count++;
      if (completed_worker_count == total_workers) {
        if (expected_total == actual_total)
          onSuccess();
        else
          onFailure();
      }
    } else {
      try {
        actual_total += parseInt(evt.data);
      } catch (ex) {
        onFailure();
      }
    }
  }
  return worker;
}

for (var i = 0; i < total_workers; ++i) {
  var worker = createWorker(100 + i);
}

</script>
</head>

<body>
<div id=statusPanel></div>
</body>
</html>