From bcb29063c1c2d01f105a4381ee2b7fe8e4d79a43 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Mon, 16 Oct 2017 09:09:08 +0200 Subject: [PATCH 1/2] Polyfill `Object.values` and `Array.prototype.includes` using core-js See https://github.com/zloirock/core-js#stage-4-proposals. --- src/shared/compatibility.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/shared/compatibility.js b/src/shared/compatibility.js index b7d587349..9eb9b0ae6 100644 --- a/src/shared/compatibility.js +++ b/src/shared/compatibility.js @@ -839,6 +839,25 @@ PDFJS.compatibilityChecked = true; }; })(); +// Provides support for Object.values in legacy browsers. +// Support: IE. +(function checkObjectValues() { + if (Object.values) { + return; + } + Object.values = require('core-js/fn/object/values'); +})(); + +// Provides support for Array.prototype.includes in legacy browsers. +// Support: IE. +(function checkArrayIncludes() { + if (Array.prototype.includes) { + return; + } + Array.prototype.includes = require('core-js/fn/array/includes'); +})(); + + // Provides support for Number.isNaN in legacy browsers. // Support: IE. (function checkNumberIsNaN() { From b5794bb26b76a0cc3c87b10979e5477514999095 Mon Sep 17 00:00:00 2001 From: Jonas Jenwald Date: Sun, 15 Oct 2017 18:15:37 +0200 Subject: [PATCH 2/2] Simplify the check, and remove the warning, for the `nativeImageDecoderSupport` API parameter As discussed in PR 8982. --- src/display/api.js | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/display/api.js b/src/display/api.js index 0f2fdf01a..f8baabe32 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -223,13 +223,9 @@ function getDocument(src) { params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; params.ignoreErrors = params.stopAtErrors !== true; - params.nativeImageDecoderSupport = params.nativeImageDecoderSupport || - NativeImageDecoding.DECODE; - if (params.nativeImageDecoderSupport !== NativeImageDecoding.DECODE && - params.nativeImageDecoderSupport !== NativeImageDecoding.NONE && - params.nativeImageDecoderSupport !== NativeImageDecoding.DISPLAY) { - warn('Invalid parameter nativeImageDecoderSupport: ' + - 'need a state of enum {NativeImageDecoding}'); + const nativeImageDecoderValues = Object.values(NativeImageDecoding); + if (params.nativeImageDecoderSupport === undefined || + !nativeImageDecoderValues.includes(params.nativeImageDecoderSupport)) { params.nativeImageDecoderSupport = NativeImageDecoding.DECODE; }