Merge pull request #4179 from yurydelendik/dataLoaded

Fixes PDFDocumentProxy.getDataLoaded API name (and refactoring)
This commit is contained in:
Brendan Dahl 2014-01-28 13:56:01 -08:00
commit 0e000392ae
4 changed files with 16 additions and 25 deletions

View File

@ -234,7 +234,11 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
PDFJS.disableCreateObjectURL = data.disableCreateObjectURL;
PDFJS.verbosity = data.verbosity;
getPdfManager(data).then(function pdfManagerReady() {
getPdfManager(data).then(function () {
pdfManager.onLoadedStream().then(function(stream) {
handler.send('DataLoaded', { length: stream.bytes.byteLength });
});
}).then(function pdfManagerReady() {
loadDocument(false).then(onSuccess, function loadFailure(ex) {
// Try again with recoveryMode == true
if (!(ex instanceof XRefParseException)) {
@ -301,12 +305,6 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
});
});
handler.on('DataLoaded', function wphSetupDataLoaded(data, deferred) {
pdfManager.onLoadedStream().then(function(stream) {
deferred.resolve({ length: stream.bytes.byteLength });
});
});
handler.on('UpdatePassword', function wphSetupUpdatePassword(data) {
pdfManager.updatePassword(data);
});

View File

@ -302,10 +302,11 @@ var PDFDocumentProxy = (function PDFDocumentProxyClosure() {
},
/**
* @return {Promise} A promise that is resolved when the document's data
* is loaded
* is loaded. It is resolved with an {Object} that contains the length
* property that indicates size of the PDF data in bytes.
*/
dataLoaded: function PDFDocumentProxy_dataLoaded() {
return this.transport.dataLoaded();
getDownloadInfo: function PDFDocumentProxy_getDownloadInfo() {
return this.transport.downloadInfoPromise;
},
/**
* Cleans up resources allocated by the document, e.g. created @font-face.
@ -578,7 +579,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
this.pageCache = [];
this.pagePromises = [];
this.embeddedFontsUsed = false;
this.downloadInfoPromise = new PDFJS.LegacyPromise();
this.passwordCallback = null;
// If worker support isn't disabled explicit and the browser has worker
@ -758,6 +759,10 @@ var WorkerTransport = (function WorkerTransportClosure() {
this.workerReadyPromise.reject(data.exception.message, data.exception);
}, this);
messageHandler.on('DataLoaded', function transportPage(data) {
this.downloadInfoPromise.resolve(data);
}, this);
messageHandler.on('GetPage', function transportPage(data) {
var pageInfo = data.pageInfo;
var page = new PDFPageProxy(pageInfo, this);
@ -924,18 +929,6 @@ var WorkerTransport = (function WorkerTransportClosure() {
});
},
dataLoaded: function WorkerTransport_dataLoaded() {
if (this.dataLoadedPromise) {
return this.dataLoadedPromise;
}
var promise = new PDFJS.LegacyPromise();
this.messageHandler.send('DataLoaded', null, function(args) {
promise.resolve(args);
});
this.dataLoadedPromise = promise;
return promise;
},
getPage: function WorkerTransport_getPage(pageNumber, promise) {
var pageIndex = pageNumber - 1;
if (pageIndex in this.pagePromises)

View File

@ -76,7 +76,7 @@ var DocumentProperties = {
this.fileName = getPDFFileNameFromURL(PDFView.url);
// Get the file size.
PDFView.pdfDocument.dataLoaded().then(function(data) {
PDFView.pdfDocument.getDownloadInfo().then(function(data) {
self.setFileSize(data.length);
});

View File

@ -854,7 +854,7 @@ var PDFView = {
var errorWrapper = document.getElementById('errorWrapper');
errorWrapper.setAttribute('hidden', 'true');
pdfDocument.dataLoaded().then(function() {
pdfDocument.getDownloadInfo().then(function() {
PDFView.loadingBar.hide();
var outerContainer = document.getElementById('outerContainer');
outerContainer.classList.remove('loadingInProgress');