]> git.parisson.com Git - pdf.js.git/commitdiff
Make viewer.js compatible with the content type handler addon
authorVivien Nicolas <21@vingtetun.org>
Tue, 26 Jul 2011 14:11:09 +0000 (16:11 +0200)
committerVivien Nicolas <21@vingtetun.org>
Tue, 26 Jul 2011 14:11:09 +0000 (16:11 +0200)
web/viewer.js

index 0e7cd59dba9d5624550b4b71b3ea3f9da8770997..12a42006f5c45702138943cbd3885949c5e2538a 100644 (file)
@@ -29,6 +29,9 @@ function queryParams() {
 
 function open(url) {
   document.title = url;
+  if (url.indexOf("http") == 0)
+    return;
+
   var req = new XMLHttpRequest();
   req.open('GET', url);
   req.mozResponseType = req.responseType = 'arraybuffer';
@@ -37,15 +40,23 @@ function open(url) {
     if (req.readyState == 4 && req.status == req.expected) {
       var data = (req.mozResponseArrayBuffer || req.mozResponse ||
                   req.responseArrayBuffer || req.response);
-      pdfDocument = new PDFDoc(new Stream(data));
-      numPages = pdfDocument.numPages;
-      document.getElementById('numPages').innerHTML = numPages.toString();
-      goToPage(pageNum);
+      loadDocument(data);
     }
   };
   req.send(null);
 }
 
+window.addEventListener("pdfloaded", function(aEvent) {
+  loadDocument(aEvent.detail);
+}, true);
+
+function loadDocument(data) {
+  pdfDocument = new PDFDoc(new Stream(data));
+  numPages = pdfDocument.numPages;
+  document.getElementById('numPages').innerHTML = numPages.toString();
+  goToPage(pageNum);
+}
+
 function gotoPage(num) {
   if (0 <= num && num <= numPages)
     pageNum = num;