Merge pull request #9363 from Rob--W/fetch-http/s-only

Limit PDFFetchStream to http(s) in the Chrome extension
This commit is contained in:
Jonas Jenwald 2018-01-21 11:45:09 +01:00 committed by GitHub
commit fe5102a27f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 51 additions and 17 deletions

View file

@ -83,15 +83,25 @@ if (typeof PDFJSDev !== 'undefined' &&
}) : null;
}
/** @type IPDFStream */
var PDFNetworkStream;
/**
* @typedef {function} IPDFStreamFactory
* @param {DocumentInitParameters} params The document initialization
* parameters. The "url" key is always present.
* @return {IPDFStream}
*/
/** @type IPDFStreamFactory */
var createPDFNetworkStream;
/**
* Sets PDFNetworkStream class to be used as alternative PDF data transport.
* @param {IPDFStream} cls - the PDF data transport.
* Sets the function that instantiates a IPDFStream as an alternative PDF data
* transport.
* @param {IPDFStreamFactory} pdfNetworkStreamFactory - the factory function
* that takes document initialization parameters (including a "url") and returns
* an instance of IPDFStream.
*/
function setPDFNetworkStreamClass(cls) {
PDFNetworkStream = cls;
function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
createPDFNetworkStream = pdfNetworkStreamFactory;
}
/**
@ -252,7 +262,7 @@ function getDocument(src) {
if (rangeTransport) {
networkStream = new PDFDataTransportStream(params, rangeTransport);
} else if (!params.data) {
networkStream = new PDFNetworkStream(params);
networkStream = createPDFNetworkStream(params);
}
var messageHandler = new MessageHandler(docId, workerId, worker.port);
@ -2346,7 +2356,7 @@ export {
PDFWorker,
PDFDocumentProxy,
PDFPageProxy,
setPDFNetworkStreamClass,
setPDFNetworkStreamFactory,
version,
build,
};