| Index: chrome/test/data/workers/queued_shared_worker_shutdown.html
|
| diff --git a/chrome/test/data/workers/queued_shared_worker_shutdown.html b/chrome/test/data/workers/queued_shared_worker_shutdown.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..3a6163f42032782d374180b63ed9b012139e6451
|
| --- /dev/null
|
| +++ b/chrome/test/data/workers/queued_shared_worker_shutdown.html
|
| @@ -0,0 +1,48 @@
|
| +<html>
|
| +<body>
|
| +<div id=result></div>
|
| +<script>
|
| +function log(message)
|
| +{
|
| + document.getElementById("result").innerHTML += message + "<br>";
|
| +}
|
| +
|
| +var url = document.location.toString();
|
| +var num_workers = parseInt(url.substr(url.search("count=") + 6));
|
| +
|
| +if (!num_workers) {
|
| + log("No count= parameter provided - test aborted");
|
| +} else {
|
| + for (var i = 0; i < num_workers ; ++i) {
|
| + createWorker(i);
|
| + }
|
| +
|
| + // Create two extra workers - these should both be queued, and launched as a
|
| + // single instance when we shutdown a worker.
|
| + createWorker(num_workers);
|
| + createWorker(num_workers);
|
| +}
|
| +
|
| +var workers_created = 0;
|
| +function createWorker(i) {
|
| + var worker = new SharedWorker("worker_common.js?id=" + i);
|
| + worker.port.postMessage("ping");
|
| + worker.port.onmessage = function() {
|
| + workers_created++;
|
| + log("worker " + i + " started");
|
| + if (workers_created == num_workers) {
|
| + // We've created all of our workers. Let's shut down the most recent one
|
| + // and see if we startup the queued worker.
|
| + log("Shutting down worker " + i);
|
| + worker.port.postMessage("close");
|
| + } else if (workers_created == (num_workers+2)) {
|
| + // created the last worker
|
| + log("SUCCESS: queued worker created");
|
| + document.cookie = "status=OK";
|
| + }
|
| + }
|
| +}
|
| +</script>
|
| +
|
| +</body>
|
| +</html>
|
|
|