|
|
@ -139,31 +139,41 @@ function snapshotCurrentPage(gfx) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
currentTask.taskDone = (currentTask.pageNum == pdfDoc.numPages |
|
|
|
|
|
|
|
&& (1 + currentTask.round) == currentTask.rounds); |
|
|
|
|
|
|
|
sendTaskResult(canvas.toDataURL("image/png")); |
|
|
|
sendTaskResult(canvas.toDataURL("image/png")); |
|
|
|
log("done"+ (failure ? " (failed!)" : "") +"\n"); |
|
|
|
log("done"+ (failure ? " (failed!)" : "") +"\n"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Set up the next request |
|
|
|
|
|
|
|
backoff = (inFlightRequests > 0) ? inFlightRequests * 10 : 0; |
|
|
|
|
|
|
|
setTimeout(function() { |
|
|
|
++currentTask.pageNum, nextPage(); |
|
|
|
++currentTask.pageNum, nextPage(); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
backoff |
|
|
|
|
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function done() { |
|
|
|
function quitApp() { |
|
|
|
log("Done!\n"); |
|
|
|
log("Done!"); |
|
|
|
setTimeout(function() { |
|
|
|
|
|
|
|
document.body.innerHTML = "Tests are finished. <h1>CLOSE ME!</h1>"; |
|
|
|
document.body.innerHTML = "Tests are finished. <h1>CLOSE ME!</h1>"; |
|
|
|
if (window.SpecialPowers) |
|
|
|
if (window.SpecialPowers) |
|
|
|
SpecialPowers.quitApplication(); |
|
|
|
SpecialPowers.quitApplication(); |
|
|
|
else |
|
|
|
else |
|
|
|
window.close(); |
|
|
|
window.close(); |
|
|
|
}, |
|
|
|
|
|
|
|
100 |
|
|
|
|
|
|
|
); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function done() { |
|
|
|
|
|
|
|
if (inFlightRequests > 0) { |
|
|
|
|
|
|
|
document.getElementById("inFlightCount").innerHTML = inFlightRequests; |
|
|
|
|
|
|
|
setTimeout(done, 100); |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
setTimeout(quitApp, 100); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var inFlightRequests = 0; |
|
|
|
function sendTaskResult(snapshot) { |
|
|
|
function sendTaskResult(snapshot) { |
|
|
|
var result = { browser: browser, |
|
|
|
var result = { browser: browser, |
|
|
|
id: currentTask.id, |
|
|
|
id: currentTask.id, |
|
|
|
taskDone: currentTask.taskDone, |
|
|
|
numPages: pdfDoc.numPages, |
|
|
|
failure: failure, |
|
|
|
failure: failure, |
|
|
|
file: currentTask.file, |
|
|
|
file: currentTask.file, |
|
|
|
round: currentTask.round, |
|
|
|
round: currentTask.round, |
|
|
@ -172,9 +182,14 @@ function sendTaskResult(snapshot) { |
|
|
|
|
|
|
|
|
|
|
|
var r = new XMLHttpRequest(); |
|
|
|
var r = new XMLHttpRequest(); |
|
|
|
// (The POST URI is ignored atm.) |
|
|
|
// (The POST URI is ignored atm.) |
|
|
|
r.open("POST", "/submit_task_results", false); |
|
|
|
r.open("POST", "/submit_task_results", true); |
|
|
|
r.setRequestHeader("Content-Type", "application/json"); |
|
|
|
r.setRequestHeader("Content-Type", "application/json"); |
|
|
|
// XXX async |
|
|
|
r.onreadystatechange = function(e) { |
|
|
|
|
|
|
|
if (r.readyState == 4) { |
|
|
|
|
|
|
|
inFlightRequests--; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
document.getElementById("inFlightCount").innerHTML = inFlightRequests++; |
|
|
|
r.send(JSON.stringify(result)); |
|
|
|
r.send(JSON.stringify(result)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -194,7 +209,8 @@ function log(str) { |
|
|
|
</head> |
|
|
|
</head> |
|
|
|
|
|
|
|
|
|
|
|
<body onload="load();"> |
|
|
|
<body onload="load();"> |
|
|
|
<pre id="stdout"></pre> |
|
|
|
<pre style="width:800; height:800; overflow: scroll;"id="stdout"></pre> |
|
|
|
|
|
|
|
<p>Inflight requests: <span id="inFlightCount"></span></p> |
|
|
|
</body> |
|
|
|
</body> |
|
|
|
|
|
|
|
|
|
|
|
</html> |
|
|
|
</html> |
|
|
|