From 06cd27880867b51711c637a48004a9e7528575d2 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sat, 3 Feb 2024 13:10:42 +0100 Subject: [PATCH] Simplify the signature of the `PDFDataTransportStream` constructor Given that we need to pass in a `PDFDataRangeTransport`-instance a number of the needed parameters can be obtained from it, rather than having to specify them manually. --- src/display/api.js | 16 ++++------------ src/display/transport_stream.js | 23 +++++++++-------------- 2 files changed, 13 insertions(+), 26 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index 1fb547bbff8a1..faebddbea79b6 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -405,18 +405,10 @@ function getDocument(src) { const networkStreamPromise = new Promise(function (resolve) { let networkStream; if (rangeTransport) { - networkStream = new PDFDataTransportStream( - { - length, - initialData: rangeTransport.initialData, - progressiveDone: rangeTransport.progressiveDone, - contentDispositionFilename: - rangeTransport.contentDispositionFilename, - disableRange, - disableStream, - }, - rangeTransport - ); + networkStream = new PDFDataTransportStream(rangeTransport, { + disableRange, + disableStream, + }); } else if (!data) { if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")) { throw new Error("Not implemented: createPDFNetworkStream"); diff --git a/src/display/transport_stream.js b/src/display/transport_stream.js index 3bedfaefd509e..afedadac79f9f 100644 --- a/src/display/transport_stream.js +++ b/src/display/transport_stream.js @@ -24,20 +24,15 @@ import { isPdfFile } from "./display_utils.js"; /** @implements {IPDFStream} */ class PDFDataTransportStream { constructor( - { - length, - initialData, - progressiveDone = false, - contentDispositionFilename = null, - disableRange = false, - disableStream = false, - }, - pdfDataRangeTransport + pdfDataRangeTransport, + { disableRange = false, disableStream = false } ) { assert( pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.' ); + const { length, initialData, progressiveDone, contentDispositionFilename } = + pdfDataRangeTransport; this._queuedChunks = []; this._progressiveDone = progressiveDone; @@ -62,23 +57,23 @@ class PDFDataTransportStream { this._fullRequestReader = null; this._rangeReaders = []; - this._pdfDataRangeTransport.addRangeListener((begin, chunk) => { + pdfDataRangeTransport.addRangeListener((begin, chunk) => { this._onReceiveData({ begin, chunk }); }); - this._pdfDataRangeTransport.addProgressListener((loaded, total) => { + pdfDataRangeTransport.addProgressListener((loaded, total) => { this._onProgress({ loaded, total }); }); - this._pdfDataRangeTransport.addProgressiveReadListener(chunk => { + pdfDataRangeTransport.addProgressiveReadListener(chunk => { this._onReceiveData({ chunk }); }); - this._pdfDataRangeTransport.addProgressiveDoneListener(() => { + pdfDataRangeTransport.addProgressiveDoneListener(() => { this._onProgressiveDone(); }); - this._pdfDataRangeTransport.transportReady(); + pdfDataRangeTransport.transportReady(); } _onReceiveData({ begin, chunk }) {