From 40f67c95731c6c9f5cf45a30adbfb4b23fe83e1c Mon Sep 17 00:00:00 2001 From: Rob Sayre Date: Fri, 24 Jun 2011 17:13:31 -0700 Subject: [PATCH 1/5] Turn off safe-browsing code in test harness. --- test/resources/firefox/user.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/resources/firefox/user.js b/test/resources/firefox/user.js index 7ca293923..b01e2eb76 100644 --- a/test/resources/firefox/user.js +++ b/test/resources/firefox/user.js @@ -33,3 +33,4 @@ user_pref("browser.panorama.experienced_first_run", true); // Assume experienced user_pref("dom.w3c_touch_events.enabled", true); user_pref("extensions.checkCompatibility", false); user_pref("extensions.installDistroAddons", false); // prevent testpilot etc +user_pref("browser.safebrowsing.enable", false); // prevent traffic to google servers From 813b31750a5fbda72110882f3540e5066252bc73 Mon Sep 17 00:00:00 2001 From: Rob Sayre Date: Fri, 24 Jun 2011 17:58:07 -0700 Subject: [PATCH 2/5] Clean up 404 noise from favicon.ico, send Content-Length with GET responses. --- test/test.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/test/test.py b/test/test.py index a89aa0a7b..5aece2c24 100644 --- a/test/test.py +++ b/test/test.py @@ -51,6 +51,7 @@ MIMEs = { '.json': 'application/json', '.pdf': 'application/pdf', '.xhtml': 'application/xhtml+xml', + '.ico': 'image/x-icon' } class State: @@ -84,6 +85,14 @@ class PDFTestHandler(BaseHTTPRequestHandler): if VERBOSE: BaseHTTPRequestHandler.log_request(code, size) + def sendFile(self, path, ext): + self.send_response(200) + self.send_header("Content-Type", MIMEs[ext]) + self.send_header("Content-Length", os.path.getsize(path)) + self.end_headers() + with open(path) as f: + self.wfile.write(f.read()) + def do_GET(self): url = urlparse(self.path) # Ignore query string @@ -92,9 +101,14 @@ class PDFTestHandler(BaseHTTPRequestHandler): prefix = os.path.commonprefix(( path, DOC_ROOT )) _, ext = os.path.splitext(path) + if url.path == "/favicon.ico": + self.sendFile(os.path.join(DOC_ROOT, "test", "resources", "favicon.ico"), ext) + return + if not (prefix == DOC_ROOT and os.path.isfile(path) and ext in MIMEs): + print path self.send_error(404) return @@ -103,14 +117,8 @@ class PDFTestHandler(BaseHTTPRequestHandler): self.send_error(501) return - self.send_response(200) - self.send_header("Content-Type", MIMEs[ext]) - self.end_headers() - - # Sigh, os.sendfile() plz - f = open(path) - self.wfile.write(f.read()) - f.close() + self.sendFile(path, ext) + def do_POST(self): From 29b7489a3fb0ecf2c28a462bd9ebed871b7b76cd Mon Sep 17 00:00:00 2001 From: Chris Jones Date: Fri, 24 Jun 2011 19:23:29 -0700 Subject: [PATCH 3/5] add Intel ISA doc as load test, and make harness resilient to bad PDF loads --- test/pdfs/intelisa.pdf.link | 1 + test/test_manifest.json | 6 ++++++ test/test_slave.html | 9 ++++++++- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/pdfs/intelisa.pdf.link diff --git a/test/pdfs/intelisa.pdf.link b/test/pdfs/intelisa.pdf.link new file mode 100644 index 000000000..371cdf947 --- /dev/null +++ b/test/pdfs/intelisa.pdf.link @@ -0,0 +1 @@ +http://www.intel.com/Assets/PDF/manual/253665.pdf \ No newline at end of file diff --git a/test/test_manifest.json b/test/test_manifest.json index e4a7ada81..9b9d5e333 100644 --- a/test/test_manifest.json +++ b/test/test_manifest.json @@ -14,6 +14,12 @@ "rounds": 1, "type": "load" }, + { "id": "intelisa-load", + "file": "pdfs/intelisa.pdf", + "link": true, + "rounds": 1, + "type": "load" + }, { "id": "pdfspec-load", "file": "pdfs/pdf.pdf", "link": true, diff --git a/test/test_slave.html b/test/test_slave.html index 08a3804f3..d685eeaf2 100644 --- a/test/test_slave.html +++ b/test/test_slave.html @@ -63,7 +63,14 @@ function nextTask() { if (r.readyState == 4) { var data = r.mozResponseArrayBuffer || r.mozResponse || r.responseArrayBuffer || r.response; - pdfDoc = new PDFDoc(new Stream(data)); + + try { + pdfDoc = new PDFDoc(new Stream(data)); + } catch(e) { + pdfDoc.numPages = 1; + failure = 'load PDF doc: '+ e.toString(); + } + currentTask.pageNum = 1, nextPage(); } }; From 3a99b05b794167fceecd550ee5dfa16d5f0311a8 Mon Sep 17 00:00:00 2001 From: Rob Sayre Date: Fri, 24 Jun 2011 19:25:03 -0700 Subject: [PATCH 4/5] Add favicon.ico file --- test/resources/favicon.ico | Bin 0 -> 1406 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/resources/favicon.ico diff --git a/test/resources/favicon.ico b/test/resources/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d44438903b751f4732f5365783eb0229b0501f9a GIT binary patch literal 1406 zcmZvcze^lJ6vy9y;f`fV)+?@Ze|W?Y>#3{^YAe`S+YM=~Z34NW`?g{0%{Gm#-zuW37pASug&9hEW%I5<8GkmQYMp$Ony#e@#BjuEiFmE-c}V zrd^0bcjyk?p*!@r%%gjB&%~p9bOs6N0X?7xgn+KhmAQuGZ0RljmPD3CR#cKborS@| zU}3N@BqSIt3>F3pgM}es!eC*rFjyEY3<(_u3xkEh!eC*riUx;;!$uC(Q~?ymczRl( zp~pvt#bNF+awK)Iq%v^Rap7Qbu%xoU;oxv^I5->}sZ?+{7#s`^hFCfWhl9bv5b#p^ zR6=~ZlX)s{tPWIod!kaQ@%AuzOg#o3CXcu0rYDKV+vAsduroh z@GyAl5Vwu0q^Cz=q>tN34FY}vwg5-KFKun)paubs5IK0TwB0NUumo5F5COyV3cwOr z7zhdo0TzBV@~|fXmJsWaSmN6dcL5Csg+XCZ7!(GDA-zs81Q-+sg(1K|8XEC1C=3dN z!a!;oIt&Vf!k_>s{()r5LM6zN!!dVoXv!U9oUF=cIXF0wqoX4^K0cO{lM^{VKbNz! zGr7FHl<9OTS65eZb8{oNx3_YCe=mzaDxXeI`5%v|Zu}3#fqZEe^Tw%4_Mf9?On&&F zi}beZwkZd!>yBC3w&vx-=SH%5uQV+Iv+k~DdEGL9UJhoPqdUoZxoMl$(3xtsdZBU89L3N8 literal 0 HcmV?d00001 From 86eeedc3976d16adee600de0196dad4239a481d4 Mon Sep 17 00:00:00 2001 From: sbarman Date: Fri, 24 Jun 2011 19:40:51 -0700 Subject: [PATCH 5/5] Fixed bug, used pixBytes instead of rowBytes --- pdf.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pdf.js b/pdf.js index 48fc8f1ae..a34cd7c42 100644 --- a/pdf.js +++ b/pdf.js @@ -708,7 +708,7 @@ var PredictorStream = (function() { var rawBytes = this.stream.getBytes(rowBytes); var bufferLength = this.bufferLength; - var buffer = this.ensureBuffer(bufferLength + pixBytes); + var buffer = this.ensureBuffer(bufferLength + rowBytes); var currentRow = buffer.subarray(bufferLength, bufferLength + rowBytes); var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);