From 1aa0b390b9fb252f462925bdffb234b1d6a828c5 Mon Sep 17 00:00:00 2001 From: Rob Sayre Date: Mon, 4 Jul 2011 14:25:33 -0700 Subject: [PATCH] Make sure to guard against load errors. --- test/driver.js | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/test/driver.js b/test/driver.js index e7fb15e09..baa7358fd 100644 --- a/test/driver.js +++ b/test/driver.js @@ -57,6 +57,7 @@ function nextTask() { r.open("GET", task.file); r.mozResponseType = r.responseType = "arraybuffer"; r.onreadystatechange = function() { + var failure; if (r.readyState == 4) { var data = r.mozResponseArrayBuffer || r.mozResponse || r.responseArrayBuffer || r.response; @@ -67,7 +68,7 @@ function nextTask() { failure = 'load PDF doc: '+ e.toString(); } - task.pageNum = 1, nextPage(task); + task.pageNum = 1, nextPage(task, failure); } }; r.send(null); @@ -77,7 +78,7 @@ function isLastPage(task) { return (task.pdfDoc && (task.pageNum > task.pdfDoc.numPages)); } -function nextPage(task) { +function nextPage(task, loadError) { if (isLastPage(task)) { if (++task.round < task.rounds) { log(" Round "+ (1 + task.round) +"\n"); @@ -88,20 +89,24 @@ function nextPage(task) { } } - var failure = ''; - log(" loading page "+ task.pageNum +"... "); + var failure = loadError || ''; - var ctx = canvas.getContext("2d"); - var fonts = []; + var ctx = null; + var fonts; var gfx = null; var page = null; - try { - gfx = new CanvasGraphics(ctx); - page = task.pdfDoc.getPage(task.pageNum); - page.compile(gfx, fonts); - } catch(e) { - failure = 'compile: '+ e.toString(); + if (!failure) { + log(" loading page "+ task.pageNum +"... "); + ctx = canvas.getContext("2d"); + fonts = []; + try { + gfx = new CanvasGraphics(ctx); + page = task.pdfDoc.getPage(task.pageNum); + page.compile(gfx, fonts); + } catch(e) { + failure = 'compile: '+ e.toString(); + } } if (!failure) {