mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-10 18:25:37 +02:00
Merge pull request #18091 from Snuffleupagus/rm-_fetchDocument
Inline the `_fetchDocument` helper function in `getDocument`
This commit is contained in:
commit
7e5e06b886
1 changed files with 71 additions and 94 deletions
|
@ -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`.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue