Merge pull request #20909 from Snuffleupagus/getDocument-check-data

Ensure that `getDocument` is called with one of the `data`, `range`, or `url` parameters provided
This commit is contained in:
Jonas Jenwald 2026-03-18 18:29:56 +01:00 committed by GitHub
commit 8f8bd6a0bc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -469,19 +469,18 @@ function getDocument(src = {}) {
); );
let networkStream; let networkStream;
if (rangeTransport) { if (data) {
// The entire PDF was provided, no `networkStream` necessary.
} else if (rangeTransport) {
networkStream = new PDFDataTransportStream({ networkStream = new PDFDataTransportStream({
pdfDataRangeTransport: rangeTransport, pdfDataRangeTransport: rangeTransport,
disableRange, disableRange,
disableStream, disableStream,
}); });
} else if (!data) { } else if (url) {
if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) {
throw new Error("Not implemented: NetworkStream"); throw new Error("Not implemented: NetworkStream");
} }
if (!url) {
throw new Error("getDocument - no `url` parameter provided.");
}
// eslint-disable-next-line no-nested-ternary // eslint-disable-next-line no-nested-ternary
const NetworkStream = isValidFetchUrl(url) const NetworkStream = isValidFetchUrl(url)
? PDFFetchStream ? PDFFetchStream
@ -499,6 +498,10 @@ function getDocument(src = {}) {
disableRange, disableRange,
disableStream, disableStream,
}); });
} else {
throw new Error(
"getDocument - expected either `data`, `range`, or `url` parameter."
);
} }
return workerIdPromise.then(workerId => { return workerIdPromise.then(workerId => {