]> git.parisson.com Git - pdf.js.git/commitdiff
Merge upstream and change to error parameter for callback.
authorBrendan Dahl <brendan.dahl@gmail.com>
Fri, 2 Dec 2011 18:19:43 +0000 (10:19 -0800)
committerBrendan Dahl <brendan.dahl@gmail.com>
Fri, 2 Dec 2011 18:19:43 +0000 (10:19 -0800)
1  2 
src/core.js
test/driver.js
web/viewer.css
web/viewer.js

diff --cc src/core.js
index f2977ecd6ceb201039984b929e10683c0fa3708e,6b7845efd133f0025e38e37e8919fdde7670ed47..284b3cb4021af57e1c5a56e3fbc467e1c9f34c19
@@@ -67,10 -63,6 +67,9 @@@ var Page = (function pagePage() 
      };
      this.xref = xref;
      this.ref = ref;
-     this.errorback = null;
 +
 +    this.ctx = null;
 +    this.callback = null;
    }
  
    constructor.prototype = {
            try {
              self.display(gfx, self.callback);
            } catch (e) {
-             if (self.errorback)
-               self.errorback(e);
 -            if (self.callback) self.callback(e.toString());
 -            throw e;
++            if (self.callback)
++              self.callback(e);
 +            else
 +              throw e;
            }
          });
        };
@@@ -610,14 -590,6 +599,14 @@@ var PDFDoc = (function pdfDoc() 
          }
        }.bind(this));
  
-         if (page.errorback)
-           page.errorback(data.error);
 +      messageHandler.on('page_error', function pdfDocError(data) {
 +        var page = this.pageCache[data.pageNum];
++        if (page.callback)
++          page.callback(data.error);
 +        else
 +          throw data.error;
 +      }, this);
 +
        setTimeout(function pdfDocFontReadySetTimeout() {
          messageHandler.send('doc', this.data);
          this.workerReadyPromise.resolve(true);
diff --cc test/driver.js
index 48ac77e653e8c4cdae9d040786a83e32a30d5adc,c11cecf5699e0aa15aab533932124e0778f0b0c5..ffaf0b53aa0dc840cea2eace25e20b7b58ee315f
@@@ -162,11 -162,9 +162,11 @@@ function nextPage(task, loadError) 
  
        page.startRendering(
          ctx,
-         function nextPageStartRendering() {
-           snapshotCurrentPage(task, false);
-         },
-         function errorNextPageStartRendering(e) {
-           snapshotCurrentPage(task, 'render : ' + e.message);
 -        function nextPageStartRendering(e) {
 -          snapshotCurrentPage(task, (!failure && e) ?
 -            ('render : ' + e) : failure);
++        function nextPageStartRendering(error) {
++          var failureMessage = false;
++          if (error)
++            failureMessage = 'render : ' + error.message;
++          snapshotCurrentPage(task, failureMessage);
          }
        );
      } catch (e) {
diff --cc web/viewer.css
Simple merge
diff --cc web/viewer.js
index 2ccb155c2b754db1d5b56cada1067b85da2a6682,7b15ee5ac0e0654739688f47f793abf29f52d8d8..d6f5dd95279a28a39b1183f4c576e424f23bb677
@@@ -263,13 -215,8 +263,13 @@@ var PDFView = 
      var container = document.getElementById('viewer');
      while (container.hasChildNodes())
        container.removeChild(container.lastChild);
-     
 -    var pdf = new PDFJS.PDFDoc(data);
 +    var pdf;
 +    try {
 +      pdf = new PDFJS.PDFDoc(data);
 +    } catch (e) {
 +      this.error('An error occurred while reading the PDF.', e);
 +    }
      var pagesCount = pdf.numPages;
      document.getElementById('numPages').innerHTML = pagesCount;
      document.getElementById('pageNumber').max = pagesCount;
@@@ -554,16 -505,11 +558,15 @@@ var PageView = function pageView(contai
      ctx.translate(-this.x * scale, -this.y * scale);
  
      stats.begin = Date.now();
 -    this.content.startRendering(ctx, (function pageViewDrawCallback() {
 -      this.updateStats();
 -      if (this.onAfterDraw)
 -        this.onAfterDraw();
 -    }).bind(this), textLayer);
 +    this.content.startRendering(ctx,
-       (function pageViewDrawCallback() {
++      (function pageViewDrawCallback(error) {
++        if (error)
++          PDFView.error('An error occurred while rendering the page.', error);
 +        this.updateStats();
 +        if (this.onAfterDraw)
 +          this.onAfterDraw();
-       }).bind(this),
-       function pageViewErrorback(e) {
-         PDFView.error('An error occurred while rendering the page.', e);
-       }
++      }).bind(this), textLayer
 +    );
  
      setupLinks(this.content, this.scale);
      div.setAttribute('data-loaded', true);