From 2570717e77845fb04bd0ad4da459fc7de6f39ca4 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Thu, 1 Feb 2018 15:38:17 +0100 Subject: [PATCH] Inline the code in `loadJpegStream` at the only call-site in `src/display/api.js`.js` Since `loadJpegStream` is only used at a *single* spot in the code-base, and given that it's very heavily tailored to the calling code (since it relies on the data structure of `PDFObjects`), this patch simply inlines the code in `src/display/api.js` instead. --- src/display/api.js | 23 ++++++++++++++++++----- src/shared/util.js | 13 ------------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index b4603ca95..d50651c42 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -16,10 +16,9 @@ import { assert, createPromiseCapability, getVerbosityLevel, info, InvalidPDFException, - isArrayBuffer, isSameOrigin, loadJpegStream, MessageHandler, - MissingPDFException, NativeImageDecoding, PageViewport, PasswordException, - stringToBytes, UnexpectedResponseException, UnknownErrorException, - unreachable, Util, warn + isArrayBuffer, isSameOrigin, MessageHandler, MissingPDFException, + NativeImageDecoding, PageViewport, PasswordException, stringToBytes, + UnexpectedResponseException, UnknownErrorException, unreachable, Util, warn } from '../shared/util'; import { DOMCanvasFactory, DOMCMapReaderFactory, DummyStatTimer, getDefaultSetting, @@ -1818,7 +1817,21 @@ var WorkerTransport = (function WorkerTransportClosure() { switch (type) { case 'JpegStream': imageData = data[3]; - loadJpegStream(id, imageData, pageProxy.objs); + new Promise((resolve, reject) => { + const img = new Image(); + img.onload = function() { + resolve(img); + }; + img.onerror = function() { + reject(new Error('Error during JPEG image loading')); + }; + img.src = imageData; + }).then((img) => { + pageProxy.objs.resolve(id, img); + }, (reason) => { + warn(reason); + pageProxy.objs.resolve(id, null); + }); break; case 'Image': imageData = data[3]; diff --git a/src/shared/util.js b/src/shared/util.js index 593b0135f..daac9f7bf 100644 --- a/src/shared/util.js +++ b/src/shared/util.js @@ -1569,18 +1569,6 @@ MessageHandler.prototype = { }, }; -function loadJpegStream(id, imageUrl, objs) { - var img = new Image(); - img.onload = (function loadJpegStream_onloadClosure() { - objs.resolve(id, img); - }); - img.onerror = (function loadJpegStream_onerrorClosure() { - objs.resolve(id, null); - warn('Error during JPEG image loading'); - }); - img.src = imageUrl; -} - export { FONT_IDENTITY_MATRIX, IDENTITY_MATRIX, @@ -1632,7 +1620,6 @@ export { createValidAbsoluteUrl, isLittleEndian, isEvalSupported, - loadJpegStream, log2, readInt8, readUint16,