blob: fd24bb0f2df2b2f64eeb9eec710499af48320bb9 [file] [log] [blame]
<!DOCTYPE html>
<meta charset=utf-8>
<title>Cache Storage: Verify Worker calling close doesnt crash render process </title>
<link rel="help" href="https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#cache-storage">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
var worker_script = 'serviceworker/worker-closer.js';
var worker_script2 = 'serviceworker/worker-closer2.js';
var worker1Started = false;
var worker2Started = false;
function waitUntilWorkerThreadsExit(callback) {
if (internals.workerThreadCount > 0) {
setTimeout(() => { waitUntilWorkerThreadsExit(callback) }, 10);
} else {
callback();
}
}
function workerOnMesage(message, callback) {
assert_equals('started', message);
if (worker1Started && worker2Started) {
waitUntilWorkerThreadsExit(callback);
}
}
promise_test(function(t) {
return new Promise(function(resolve) {
var worker1 = new Worker(worker_script);
var worker2 = new Worker(worker_script2);
worker1.onmessage = function(message) {
worker1Started = true;
workerOnMesage(message.data, resolve);
};
worker2.onmessage = function(message) {
worker2Started = true;
workerOnMesage(message.data, resolve);
};
}).then(() => { gc(true); });
});
</script>
<body> Something
</body>
</html>