mirror of
https://github.com/mozilla/pdf.js.git
synced 2025-04-25 09:38:06 +02:00
Refactors MessageHandler.send to remove callbacks
This commit is contained in:
parent
6ea118b8d7
commit
2008f74185
5 changed files with 147 additions and 166 deletions
|
@ -214,7 +214,7 @@ var PartialEvaluator = (function PartialEvaluatorClosure() {
|
|||
then(function(imageObj) {
|
||||
var imgData = imageObj.createImageData(/* forceRGBA = */ false);
|
||||
self.handler.send('obj', [objId, self.pageIndex, 'Image', imgData],
|
||||
null, [imgData.data.buffer]);
|
||||
[imgData.data.buffer]);
|
||||
}).then(null, function (reason) {
|
||||
warn('Unable to decode image: ' + reason);
|
||||
self.handler.send('obj', [objId, self.pageIndex, 'Image', null]);
|
||||
|
@ -1592,7 +1592,7 @@ var OperatorList = (function OperatorListClosure() {
|
|||
},
|
||||
pageIndex: this.pageIndex,
|
||||
intent: this.intent
|
||||
}, null, transfers);
|
||||
}, transfers);
|
||||
this.dependencies = {};
|
||||
this.fnArray.length = 0;
|
||||
this.argsArray.length = 0;
|
||||
|
|
|
@ -31,14 +31,11 @@ var PDFImage = (function PDFImageClosure() {
|
|||
var colorSpace = dict.get('ColorSpace', 'CS');
|
||||
colorSpace = ColorSpace.parse(colorSpace, xref, res);
|
||||
var numComps = colorSpace.numComps;
|
||||
var resolvePromise;
|
||||
handler.send('JpegDecode', [image.getIR(), numComps], function(message) {
|
||||
var decodePromise = handler.sendWithPromise('JpegDecode',
|
||||
[image.getIR(), numComps]);
|
||||
return decodePromise.then(function (message) {
|
||||
var data = message.data;
|
||||
var stream = new Stream(data, 0, data.length, image.dict);
|
||||
resolvePromise(stream);
|
||||
});
|
||||
return new Promise(function (resolve) {
|
||||
resolvePromise = resolve;
|
||||
return new Stream(data, 0, data.length, image.dict);
|
||||
});
|
||||
} else {
|
||||
return Promise.resolve(image);
|
||||
|
|
|
@ -279,60 +279,47 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||
});
|
||||
});
|
||||
|
||||
handler.on('GetPageIndex', function wphSetupGetPageIndex(data, deferred) {
|
||||
handler.on('GetPageIndex', function wphSetupGetPageIndex(data) {
|
||||
var ref = new Ref(data.ref.num, data.ref.gen);
|
||||
var catalog = pdfManager.pdfDocument.catalog;
|
||||
catalog.getPageIndex(ref).then(function (pageIndex) {
|
||||
deferred.resolve(pageIndex);
|
||||
}, deferred.reject);
|
||||
return catalog.getPageIndex(ref);
|
||||
});
|
||||
|
||||
handler.on('GetDestinations',
|
||||
function wphSetupGetDestinations(data, deferred) {
|
||||
pdfManager.ensureCatalog('destinations').then(function(destinations) {
|
||||
deferred.resolve(destinations);
|
||||
});
|
||||
function wphSetupGetDestinations(data) {
|
||||
return pdfManager.ensureCatalog('destinations');
|
||||
}
|
||||
);
|
||||
|
||||
handler.on('GetAttachments',
|
||||
function wphSetupGetAttachments(data, deferred) {
|
||||
pdfManager.ensureCatalog('attachments').then(function(attachments) {
|
||||
deferred.resolve(attachments);
|
||||
}, deferred.reject);
|
||||
function wphSetupGetAttachments(data) {
|
||||
return pdfManager.ensureCatalog('attachments');
|
||||
}
|
||||
);
|
||||
|
||||
handler.on('GetJavaScript',
|
||||
function wphSetupGetJavaScript(data, deferred) {
|
||||
pdfManager.ensureCatalog('javaScript').then(function (js) {
|
||||
deferred.resolve(js);
|
||||
}, deferred.reject);
|
||||
function wphSetupGetJavaScript(data) {
|
||||
return pdfManager.ensureCatalog('javaScript');
|
||||
}
|
||||
);
|
||||
|
||||
handler.on('GetOutline',
|
||||
function wphSetupGetOutline(data, deferred) {
|
||||
pdfManager.ensureCatalog('documentOutline').then(function (outline) {
|
||||
deferred.resolve(outline);
|
||||
}, deferred.reject);
|
||||
function wphSetupGetOutline(data) {
|
||||
return pdfManager.ensureCatalog('documentOutline');
|
||||
}
|
||||
);
|
||||
|
||||
handler.on('GetMetadata',
|
||||
function wphSetupGetMetadata(data, deferred) {
|
||||
Promise.all([pdfManager.ensureDoc('documentInfo'),
|
||||
pdfManager.ensureCatalog('metadata')]).then(
|
||||
function (results) {
|
||||
deferred.resolve(results);
|
||||
}, deferred.reject);
|
||||
function wphSetupGetMetadata(data) {
|
||||
return Promise.all([pdfManager.ensureDoc('documentInfo'),
|
||||
pdfManager.ensureCatalog('metadata')]);
|
||||
}
|
||||
);
|
||||
|
||||
handler.on('GetData', function wphSetupGetData(data, deferred) {
|
||||
handler.on('GetData', function wphSetupGetData(data) {
|
||||
pdfManager.requestLoadedStream();
|
||||
pdfManager.onLoadedStream().then(function(stream) {
|
||||
deferred.resolve(stream.bytes);
|
||||
return pdfManager.onLoadedStream().then(function(stream) {
|
||||
return stream.bytes;
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -398,29 +385,25 @@ var WorkerMessageHandler = PDFJS.WorkerMessageHandler = {
|
|||
});
|
||||
}, this);
|
||||
|
||||
handler.on('GetTextContent', function wphExtractText(data, deferred) {
|
||||
pdfManager.getPage(data.pageIndex).then(function(page) {
|
||||
handler.on('GetTextContent', function wphExtractText(data) {
|
||||
return pdfManager.getPage(data.pageIndex).then(function(page) {
|
||||
var pageNum = data.pageIndex + 1;
|
||||
var start = Date.now();
|
||||
page.extractTextContent().then(function(textContent) {
|
||||
deferred.resolve(textContent);
|
||||
return page.extractTextContent().then(function(textContent) {
|
||||
info('text indexing: page=' + pageNum + ' - time=' +
|
||||
(Date.now() - start) + 'ms');
|
||||
}, function (e) {
|
||||
// Skip errored pages
|
||||
deferred.reject(e);
|
||||
return textContent;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
handler.on('Cleanup', function wphCleanup(data, deferred) {
|
||||
handler.on('Cleanup', function wphCleanup(data) {
|
||||
pdfManager.cleanup();
|
||||
deferred.resolve(true);
|
||||
return true;
|
||||
});
|
||||
|
||||
handler.on('Terminate', function wphTerminate(data, deferred) {
|
||||
handler.on('Terminate', function wphTerminate(data) {
|
||||
pdfManager.terminate();
|
||||
deferred.resolve();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue