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