<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!
DOCTYPE HTML >
<
html >
<
head >
<
meta charset=
"utf-8" >
<
title >Test for DOM Worker Threads Suspending</
title >
<
link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
</
head >
<
body >
<
pre id=
"test" >
<
div id=
"output" ></
div >
<
script class=
"testbody" type=
"text/javascript" >
var worker;
var finish = false;
var bc = new BroadcastChannel(
"suspendWindow" );
bc.onmessage = (msgEvent) => {
var msg = msgEvent.data;
var command = msg.
command ;
if (
command ==
"startWorker" ) {
startWorker();
} else if (
command ==
"navigate" ) {
window.location =
"suspend_blank.html" ;
} else if (
command ==
"finish" ) {
finish = true;
terminateWorker();
bc.postMessage({
command :
"finished" });
bc.close();
window.close();
}
}
function messageCallback(data) {
if (finish) {
return;
}
bc.postMessage({
command :
"messageCallback" , data});
}
function errorCallback(msg) {
if (finish) {
return;
}
bc.postMessage({
command :
"errorCallback" , data: msg});
}
var output = document.getElementById(
"output" );
function terminateWorker() {
if (worker) {
worker.postMessage(
"stop" );
worker = null;
}
}
function startWorker() {
var lastData;
worker = new Worker(
"suspend_worker.js" );
worker.onmessage = function(event) {
output .textContent = (lastData ? lastData +
" -> " :
"" ) + event.data;
lastData = event.data;
messageCallback(event.data);
};
worker.onerror = function(event) {
this.terminate();
errorCallback(event.message);
};
}
window.onload = () => {
bc.postMessage({
command :
"loaded" });
}
</
script >
</
pre >
</
body >
</
html >
Messung V0.5 C=91 H=90 G=90
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland