mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-25 17:48:07 +02:00
Introduces LegacyPromise; polyfills DOM Promise
This commit is contained in:
parent
122cd150d4
commit
5bf3e44e30
20 changed files with 263 additions and 156 deletions
|
@ -17,7 +17,7 @@
|
|||
/* globals error, globalScope, InvalidPDFException, log,
|
||||
MissingPDFException, PasswordException, PDFJS, Promise,
|
||||
UnknownErrorException, NetworkManager, LocalPdfManager,
|
||||
NetworkPdfManager, XRefParseException,
|
||||
NetworkPdfManager, XRefParseException, LegacyPromise,
|
||||
isInt, PasswordResponses, MessageHandler, Ref */
|
||||
|
||||
'use strict';
|
||||
|
@ -27,7 +27,7 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||
var pdfManager;
|
||||
|
||||
function loadDocument(recoveryMode) {
|
||||
var loadDocumentPromise = new Promise();
|
||||
var loadDocumentPromise = new LegacyPromise();
|
||||
|
||||
var parseSuccess = function parseSuccess() {
|
||||
var numPagesPromise = pdfManager.ensureModel('numPages');
|
||||
|
@ -71,7 +71,7 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||
}
|
||||
|
||||
function getPdfManager(data) {
|
||||
var pdfManagerPromise = new Promise();
|
||||
var pdfManagerPromise = new LegacyPromise();
|
||||
|
||||
var source = data.source;
|
||||
var disableRange = data.disableRange;
|
||||
|
@ -239,7 +239,8 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||
if (ex instanceof PasswordException) {
|
||||
// after password exception prepare to receive a new password
|
||||
// to repeat loading
|
||||
pdfManager.passwordChangedPromise = new Promise();
|
||||
pdfManager.passwordChangedPromise =
|
||||
new LegacyPromise();
|
||||
pdfManager.passwordChangedPromise.then(pdfManagerReady);
|
||||
}
|
||||
|
||||
|
@ -276,31 +277,31 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||
});
|
||||
});
|
||||
|
||||
handler.on('GetPageIndex', function wphSetupGetPageIndex(data, promise) {
|
||||
handler.on('GetPageIndex', function wphSetupGetPageIndex(data, deferred) {
|
||||
var ref = new Ref(data.ref.num, data.ref.gen);
|
||||
pdfManager.pdfModel.catalog.getPageIndex(ref).then(function (pageIndex) {
|
||||
promise.resolve(pageIndex);
|
||||
}, promise.reject.bind(promise));
|
||||
deferred.resolve(pageIndex);
|
||||
}, deferred.reject);
|
||||
});
|
||||
|
||||
handler.on('GetDestinations',
|
||||
function wphSetupGetDestinations(data, promise) {
|
||||
function wphSetupGetDestinations(data, deferred) {
|
||||
pdfManager.ensureCatalog('destinations').then(function(destinations) {
|
||||
promise.resolve(destinations);
|
||||
deferred.resolve(destinations);
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
handler.on('GetData', function wphSetupGetData(data, promise) {
|
||||
handler.on('GetData', function wphSetupGetData(data, deferred) {
|
||||
pdfManager.requestLoadedStream();
|
||||
pdfManager.onLoadedStream().then(function(stream) {
|
||||
promise.resolve(stream.bytes);
|
||||
deferred.resolve(stream.bytes);
|
||||
});
|
||||
});
|
||||
|
||||
handler.on('DataLoaded', function wphSetupDataLoaded(data, promise) {
|
||||
handler.on('DataLoaded', function wphSetupDataLoaded(data, deferred) {
|
||||
pdfManager.onLoadedStream().then(function(stream) {
|
||||
promise.resolve({ length: stream.bytes.byteLength });
|
||||
deferred.resolve({ length: stream.bytes.byteLength });
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -365,29 +366,29 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||
});
|
||||
}, this);
|
||||
|
||||
handler.on('GetTextContent', function wphExtractText(data, promise) {
|
||||
handler.on('GetTextContent', function wphExtractText(data, deferred) {
|
||||
pdfManager.getPage(data.pageIndex).then(function(page) {
|
||||
var pageNum = data.pageIndex + 1;
|
||||
var start = Date.now();
|
||||
page.extractTextContent().then(function(textContent) {
|
||||
promise.resolve(textContent);
|
||||
deferred.resolve(textContent);
|
||||
log('text indexing: page=%d - time=%dms', pageNum,
|
||||
Date.now() - start);
|
||||
}, function (e) {
|
||||
// Skip errored pages
|
||||
promise.reject(e);
|
||||
deferred.reject(e);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
handler.on('Cleanup', function wphCleanup(data, promise) {
|
||||
handler.on('Cleanup', function wphCleanup(data, deferred) {
|
||||
pdfManager.cleanup();
|
||||
promise.resolve(true);
|
||||
deferred.resolve(true);
|
||||
});
|
||||
|
||||
handler.on('Terminate', function wphTerminate(data, promise) {
|
||||
handler.on('Terminate', function wphTerminate(data, deferred) {
|
||||
pdfManager.terminate();
|
||||
promise.resolve();
|
||||
deferred.resolve();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue