Merge pull request #18091 from Snuffleupagus/rm-_fetchDocument

Inline the `_fetchDocument` helper function in `getDocument`
This commit is contained in:
Tim van der Meij 2024-05-14 18:27:04 +02:00 committed by GitHub
commit 7e5e06b886
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -357,7 +357,7 @@ function getDocument(src) {
task._worker = worker; task._worker = worker;
} }
const fetchDocParams = { const docParams = {
docId, docId,
apiVersion: apiVersion:
typeof PDFJSDev !== "undefined" && !PDFJSDev.test("TESTING") typeof PDFJSDev !== "undefined" && !PDFJSDev.test("TESTING")
@ -398,9 +398,16 @@ function getDocument(src) {
if (task.destroyed) { if (task.destroyed) {
throw new Error("Loading aborted"); throw new Error("Loading aborted");
} }
if (worker.destroyed) {
throw new Error("Worker was destroyed");
}
const workerIdPromise = worker.messageHandler.sendWithPromise(
"GetDocRequest",
docParams,
data ? [data.buffer] : null
);
const workerIdPromise = _fetchDocument(worker, fetchDocParams);
const networkStreamPromise = new Promise(function (resolve) {
let networkStream; let networkStream;
if (rangeTransport) { if (rangeTransport) {
networkStream = new PDFDataTransportStream(rangeTransport, { networkStream = new PDFDataTransportStream(rangeTransport, {
@ -443,20 +450,16 @@ function getDocument(src) {
disableStream, disableStream,
}); });
} }
resolve(networkStream);
});
return Promise.all([workerIdPromise, networkStreamPromise]).then( return workerIdPromise.then(workerId => {
function ([workerId, networkStream]) {
if (task.destroyed) { if (task.destroyed) {
throw new Error("Loading aborted"); throw new Error("Loading aborted");
} }
if (worker.destroyed) {
throw new Error("Worker was destroyed");
}
const messageHandler = new MessageHandler( const messageHandler = new MessageHandler(docId, workerId, worker.port);
docId,
workerId,
worker.port
);
const transport = new WorkerTransport( const transport = new WorkerTransport(
messageHandler, messageHandler,
task, task,
@ -466,39 +469,13 @@ function getDocument(src) {
); );
task._transport = transport; task._transport = transport;
messageHandler.send("Ready", null); messageHandler.send("Ready", null);
} });
);
}) })
.catch(task._capability.reject); .catch(task._capability.reject);
return task; return task;
} }
/**
* Starts fetching of specified PDF document/data.
*
* @param {PDFWorker} worker
* @param {Object} source
* @returns {Promise<string>} A promise that is resolved when the worker ID of
* the `MessageHandler` is known.
* @private
*/
async function _fetchDocument(worker, source) {
if (worker.destroyed) {
throw new Error("Worker was destroyed");
}
const workerId = await worker.messageHandler.sendWithPromise(
"GetDocRequest",
source,
source.data ? [source.data.buffer] : null
);
if (worker.destroyed) {
throw new Error("Worker was destroyed");
}
return workerId;
}
function getUrlProp(val) { function getUrlProp(val) {
if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) {
return null; // The 'url' is unused with `PDFDataRangeTransport`. return null; // The 'url' is unused with `PDFDataRangeTransport`.