mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-09 17:55:37 +02:00
Use A+ spec compatible promises.
This commit is contained in:
parent
b996e1b781
commit
ae1f973204
7 changed files with 240 additions and 198 deletions
14
src/api.js
14
src/api.js
|
@ -48,7 +48,8 @@
|
|||
*/
|
||||
PDFJS.getDocument = function getDocument(source,
|
||||
pdfDataRangeTransport,
|
||||
passwordCallback) {
|
||||
passwordCallback,
|
||||
progressCallback) {
|
||||
var workerInitializedPromise, workerReadyPromise, transport;
|
||||
|
||||
if (typeof source === 'string') {
|
||||
|
@ -76,7 +77,7 @@ PDFJS.getDocument = function getDocument(source,
|
|||
workerInitializedPromise = new PDFJS.Promise();
|
||||
workerReadyPromise = new PDFJS.Promise();
|
||||
transport = new WorkerTransport(workerInitializedPromise,
|
||||
workerReadyPromise, pdfDataRangeTransport);
|
||||
workerReadyPromise, pdfDataRangeTransport, progressCallback);
|
||||
workerInitializedPromise.then(function transportInitialized() {
|
||||
transport.passwordCallback = passwordCallback;
|
||||
transport.fetchDocument(params);
|
||||
|
@ -480,10 +481,11 @@ var PDFPageProxy = (function PDFPageProxyClosure() {
|
|||
*/
|
||||
var WorkerTransport = (function WorkerTransportClosure() {
|
||||
function WorkerTransport(workerInitializedPromise, workerReadyPromise,
|
||||
pdfDataRangeTransport) {
|
||||
pdfDataRangeTransport, progressCallback) {
|
||||
this.pdfDataRangeTransport = pdfDataRangeTransport;
|
||||
|
||||
this.workerReadyPromise = workerReadyPromise;
|
||||
this.progressCallback = progressCallback;
|
||||
this.commonObjs = new PDFObjects();
|
||||
|
||||
this.pageCache = [];
|
||||
|
@ -705,11 +707,7 @@ var WorkerTransport = (function WorkerTransportClosure() {
|
|||
}, this);
|
||||
|
||||
messageHandler.on('DocProgress', function transportDocProgress(data) {
|
||||
// TODO(mack): The progress event should be resolved on a different
|
||||
// promise that tracks progress of whole file, since workerReadyPromise
|
||||
// is for file being ready to render, not for when file is fully
|
||||
// downloaded
|
||||
this.workerReadyPromise.progress({
|
||||
this.progressCallback({
|
||||
loaded: data.loaded,
|
||||
total: data.total
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue