diff --git a/gulpfile.js b/gulpfile.js index 99ca22133..78c655e1f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -81,7 +81,7 @@ var DEFINES = { SINGLE_FILE: false, COMPONENTS: false, LIB: false, - PDFJS_NEXT: false, + SKIP_BABEL: false, }; function safeSpawnSync(command, parameters, options) { @@ -130,8 +130,8 @@ function createWebpackConfig(defines, output) { var licenseHeader = fs.readFileSync('./src/license_header.js').toString(); var enableSourceMaps = !bundleDefines.FIREFOX && !bundleDefines.MOZCENTRAL && !bundleDefines.CHROME; - var pdfjsNext = bundleDefines.PDFJS_NEXT || - process.env['PDFJS_NEXT'] === 'true'; + var skipBabel = bundleDefines.SKIP_BABEL || + process.env['SKIP_BABEL'] === 'true'; return { output: output, @@ -152,7 +152,7 @@ function createWebpackConfig(defines, output) { loader: 'babel-loader', exclude: /src\/core\/(glyphlist|unicode)/, // babel is too slow options: { - presets: pdfjsNext ? undefined : ['env'], + presets: skipBabel ? undefined : ['env'], plugins: ['transform-es2015-modules-commonjs'], }, }, @@ -732,7 +732,7 @@ gulp.task('minified', ['minified-post']); gulp.task('firefox-pre', ['buildnumber', 'locale'], function () { console.log(); console.log('### Building Firefox extension'); - var defines = builder.merge(DEFINES, { FIREFOX: true, PDFJS_NEXT: true, }); + var defines = builder.merge(DEFINES, { FIREFOX: true, SKIP_BABEL: true, }); var FIREFOX_BUILD_CONTENT_DIR = FIREFOX_BUILD_DIR + '/content/', FIREFOX_EXTENSION_DIR = 'extensions/firefox/', @@ -840,7 +840,7 @@ gulp.task('firefox', ['firefox-pre'], function (done) { gulp.task('mozcentral-pre', ['buildnumber', 'locale'], function () { console.log(); console.log('### Building mozilla-central extension'); - var defines = builder.merge(DEFINES, { MOZCENTRAL: true, PDFJS_NEXT: true, }); + var defines = builder.merge(DEFINES, { MOZCENTRAL: true, SKIP_BABEL: true, }); var MOZCENTRAL_DIR = BUILD_DIR + 'mozcentral/', MOZCENTRAL_EXTENSION_DIR = MOZCENTRAL_DIR + 'browser/extensions/pdfjs/', @@ -913,7 +913,7 @@ gulp.task('mozcentral', ['mozcentral-pre']); gulp.task('chromium-pre', ['buildnumber', 'locale'], function () { console.log(); console.log('### Building Chromium extension'); - var defines = builder.merge(DEFINES, { CHROME: true, PDFJS_NEXT: true, }); + var defines = builder.merge(DEFINES, { CHROME: true, SKIP_BABEL: true, }); var CHROME_BUILD_DIR = BUILD_DIR + '/chromium/', CHROME_BUILD_CONTENT_DIR = CHROME_BUILD_DIR + '/content/'; diff --git a/src/core/obj.js b/src/core/obj.js index 34ea684ac..622602991 100644 --- a/src/core/obj.js +++ b/src/core/obj.js @@ -371,7 +371,7 @@ var Catalog = (function CatalogClosure() { var xref = this.xref; var obj = this.catDict.get('Names'); - var javaScript = []; + let javaScript = null; function appendIfJavaScriptDict(jsDict) { var type = jsDict.get('S'); if (!isName(type, 'JavaScript')) { @@ -383,6 +383,9 @@ var Catalog = (function CatalogClosure() { } else if (!isString(js)) { return; } + if (!javaScript) { + javaScript = []; + } javaScript.push(stringToPDFString(js)); } if (obj && obj.has('JavaScript')) { @@ -407,6 +410,9 @@ var Catalog = (function CatalogClosure() { // but is supported by many PDF readers/writers (including Adobe's). var action = openactionDict.get('N'); if (isName(action, 'Print')) { + if (!javaScript) { + javaScript = []; + } javaScript.push('print({});'); } } else { diff --git a/src/display/api.js b/src/display/api.js index b16ffb75d..1a59dcd66 100644 --- a/src/display/api.js +++ b/src/display/api.js @@ -15,7 +15,7 @@ /* globals requirejs, __non_webpack_require__ */ import { - assert, createPromiseCapability, deprecated, getVerbosityLevel, info, + assert, createPromiseCapability, getVerbosityLevel, info, InvalidPDFException, isArrayBuffer, isSameOrigin, loadJpegStream, MessageHandler, MissingPDFException, NativeImageDecoding, PageViewport, PasswordException, StatTimer, stringToBytes, UnexpectedResponseException, @@ -120,10 +120,6 @@ function setPDFNetworkStreamClass(cls) { * @property {string} docBaseUrl - (optional) The base URL of the document, * used when attempting to recover valid absolute URLs for annotations, and * outline items, that (incorrectly) only specify relative URLs. - * @property {boolean} disableNativeImageDecoder - (deprecated) Disable decoding - * of certain (simple) JPEG images in the browser. This is useful for - * environments without DOM image support, such as e.g. Node.js. - * The default value is `false`. * @property {string} nativeImageDecoderSupport - (optional) Strategy for * decoding certain (simple) JPEG images in the browser. This is useful for * environments without DOM image and canvas support, such as e.g. Node.js. @@ -160,46 +156,11 @@ function setPDFNetworkStreamClass(cls) { * Can be a url to where a PDF is located, a typed array (Uint8Array) * already populated with data or parameter object. * - * @param {PDFDataRangeTransport} pdfDataRangeTransport (deprecated) It is used - * if you want to manually serve range requests for data in the PDF. - * - * @param {function} passwordCallback (deprecated) It is used to request a - * password if wrong or no password was provided. The callback receives two - * parameters: function that needs to be called with new password and reason - * (see {PasswordResponses}). - * - * @param {function} progressCallback (deprecated) It is used to be able to - * monitor the loading progress of the PDF file (necessary to implement e.g. - * a loading bar). The callback receives an {Object} with the properties: - * {number} loaded and {number} total. - * * @return {PDFDocumentLoadingTask} */ -function getDocument(src, pdfDataRangeTransport, - passwordCallback, progressCallback) { +function getDocument(src) { var task = new PDFDocumentLoadingTask(); - // Support of the obsolete arguments (for compatibility with API v1.0) - if (arguments.length > 1) { - deprecated('getDocument is called with pdfDataRangeTransport, ' + - 'passwordCallback or progressCallback argument'); - } - if (pdfDataRangeTransport) { - if (!(pdfDataRangeTransport instanceof PDFDataRangeTransport)) { - // Not a PDFDataRangeTransport instance, trying to add missing properties. - pdfDataRangeTransport = Object.create(pdfDataRangeTransport); - pdfDataRangeTransport.length = src.length; - pdfDataRangeTransport.initialData = src.initialData; - if (!pdfDataRangeTransport.abort) { - pdfDataRangeTransport.abort = function () {}; - } - } - src = Object.create(src); - src.range = pdfDataRangeTransport; - } - task.onPassword = passwordCallback || null; - task.onProgress = progressCallback || null; - var source; if (typeof src === 'string') { source = { url: src, }; @@ -262,18 +223,9 @@ function getDocument(src, pdfDataRangeTransport, params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE; params.ignoreErrors = params.stopAtErrors !== true; - if (params.disableNativeImageDecoder !== undefined) { - deprecated('parameter disableNativeImageDecoder, ' + - 'use nativeImageDecoderSupport instead'); - } - params.nativeImageDecoderSupport = params.nativeImageDecoderSupport || - (params.disableNativeImageDecoder === true ? NativeImageDecoding.NONE : - 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; } @@ -618,10 +570,10 @@ var PDFDocumentProxy = (function PDFDocumentProxyClosure() { return this.transport.getAttachments(); }, /** - * @return {Promise} A promise that is resolved with an array of all the - * JavaScript strings in the name tree. + * @return {Promise} A promise that is resolved with an {Array} of all the + * JavaScript strings in the name tree, or `null` if no JavaScript exists. */ - getJavaScript: function PDFDocumentProxy_getJavaScript() { + getJavaScript() { return this.transport.getJavaScript(); }, /** @@ -756,10 +708,6 @@ var PDFDocumentProxy = (function PDFDocumentProxyClosure() { * just before viewport transform. * @property {Object} imageLayer - (optional) An object that has beginLayout, * endLayout and appendImage functions. - * @property {function} continueCallback - (deprecated) A function that will be - * called each time the rendering is paused. To continue - * rendering call the function that is the first argument - * to the callback. * @property {Object} canvasFactory - (optional) The factory that will be used * when creating canvases. The default value is * {DOMCanvasFactory}. @@ -933,12 +881,6 @@ var PDFPageProxy = (function PDFPageProxyClosure() { intentState.renderTasks.push(internalRenderTask); var renderTask = internalRenderTask.task; - // Obsolete parameter support - if (params.continueCallback) { - deprecated('render is used with continueCallback parameter'); - renderTask.onContinue = params.continueCallback; - } - intentState.displayReadyCapability.promise.then((transparency) => { if (this.pendingCleanup) { complete(); @@ -1073,14 +1015,6 @@ var PDFPageProxy = (function PDFPageProxyClosure() { return Promise.all(waitOn); }, - /** - * Cleans up resources allocated by the page. (deprecated) - */ - destroy() { - deprecated('page destroy method, use cleanup() instead'); - this.cleanup(); - }, - /** * Cleans up resources allocated by the page. */ @@ -1908,17 +1842,14 @@ var WorkerTransport = (function WorkerTransportClosure() { } }, this); - messageHandler.on('UnsupportedFeature', - function transportUnsupportedFeature(data) { + messageHandler.on('UnsupportedFeature', function(data) { if (this.destroyed) { return; // Ignore any pending requests if the worker was terminated. } - var featureId = data.featureId; - var loadingTask = this.loadingTask; + let loadingTask = this.loadingTask; if (loadingTask.onUnsupportedFeature) { - loadingTask.onUnsupportedFeature(featureId); + loadingTask.onUnsupportedFeature(data.featureId); } - _UnsupportedManager.notify(featureId); }, this); messageHandler.on('JpegDecode', function(data) { @@ -2325,14 +2256,8 @@ var InternalRenderTask = (function InternalRenderTaskClosure() { if (this._canvas) { canvasInRendering.delete(this._canvas); } - - if ((typeof PDFJSDev !== 'undefined' && PDFJSDev.test('PDFJS_NEXT')) || - getDefaultSetting('pdfjsNext')) { - this.callback(new RenderingCancelledException( - 'Rendering cancelled, page ' + this.pageNumber, 'canvas')); - } else { - this.callback('cancelled'); - } + this.callback(new RenderingCancelledException( + 'Rendering cancelled, page ' + this.pageNumber, 'canvas')); }, operatorListChanged: function InternalRenderTask_operatorListChanged() { @@ -2398,26 +2323,6 @@ var InternalRenderTask = (function InternalRenderTaskClosure() { return InternalRenderTask; })(); -/** - * (Deprecated) Global observer of unsupported feature usages. Use - * onUnsupportedFeature callback of the {PDFDocumentLoadingTask} instance. - */ -var _UnsupportedManager = (function UnsupportedManagerClosure() { - var listeners = []; - return { - listen(cb) { - deprecated('Global UnsupportedManager.listen is used: ' + - ' use PDFDocumentLoadingTask.onUnsupportedFeature instead'); - listeners.push(cb); - }, - notify(featureId) { - for (var i = 0, ii = listeners.length; i < ii; i++) { - listeners[i](featureId); - } - }, - }; -})(); - var version, build; if (typeof PDFJSDev !== 'undefined') { version = PDFJSDev.eval('BUNDLE_VERSION'); @@ -2432,7 +2337,6 @@ export { PDFDocumentProxy, PDFPageProxy, setPDFNetworkStreamClass, - _UnsupportedManager, version, build, }; diff --git a/src/display/dom_utils.js b/src/display/dom_utils.js index 592765564..3a683aa84 100644 --- a/src/display/dom_utils.js +++ b/src/display/dom_utils.js @@ -14,8 +14,7 @@ */ import { - assert, CMapCompressionType, createValidAbsoluteUrl, deprecated, - removeNullCharacters, stringToBytes, warn + assert, CMapCompressionType, removeNullCharacters, stringToBytes, warn } from '../shared/util'; import globalScope from '../shared/global_scope'; @@ -444,8 +443,6 @@ function getDefaultSetting(id) { return globalSettings ? globalSettings.externalLinkRel : DEFAULT_LINK_REL; case 'enableStats': return !!(globalSettings && globalSettings.enableStats); - case 'pdfjsNext': - return !!(globalSettings && globalSettings.pdfjsNext); default: throw new Error('Unknown default setting: ' + id); } @@ -464,18 +461,11 @@ function isExternalLinkTargetSet() { } } -function isValidUrl(url, allowRelative) { - deprecated('isValidUrl(), please use createValidAbsoluteUrl() instead.'); - var baseUrl = allowRelative ? 'http://example.com' : null; - return createValidAbsoluteUrl(url, baseUrl) !== null; -} - export { CustomStyle, RenderingCancelledException, addLinkAttributes, isExternalLinkTargetSet, - isValidUrl, getFilenameFromUrl, LinkTarget, getDefaultSetting, diff --git a/src/display/global.js b/src/display/global.js index 812456002..aa63ad62c 100644 --- a/src/display/global.js +++ b/src/display/global.js @@ -13,21 +13,20 @@ * limitations under the License. */ -import { - _UnsupportedManager, getDocument, LoopbackPort, PDFDataRangeTransport, - PDFWorker -} from './api'; import { addLinkAttributes, CustomStyle, DEFAULT_LINK_REL, getFilenameFromUrl, isExternalLinkTargetSet, isValidUrl, LinkTarget } from './dom_utils'; import { - createBlob, createObjectURL, createPromiseCapability, deprecated, - getVerbosityLevel, InvalidPDFException, isLittleEndian, - MissingPDFException, OPS, PageViewport, PasswordException, PasswordResponses, - removeNullCharacters, setVerbosityLevel, shadow, UnexpectedResponseException, - UnknownErrorException, UNSUPPORTED_FEATURES, Util, VERBOSITY_LEVELS, warn + createBlob, createObjectURL, createPromiseCapability, getVerbosityLevel, + InvalidPDFException, isLittleEndian, MissingPDFException, OPS, PageViewport, + PasswordException, PasswordResponses, removeNullCharacters, setVerbosityLevel, + shadow, UnexpectedResponseException, UnknownErrorException, + UNSUPPORTED_FEATURES, Util, VERBOSITY_LEVELS } from '../shared/util'; +import { + getDocument, LoopbackPort, PDFDataRangeTransport, PDFWorker +} from './api'; import { AnnotationLayer } from './annotation_layer'; import globalScope from '../shared/global_scope'; import { Metadata } from './metadata'; @@ -239,47 +238,6 @@ PDFJS.externalLinkRel = (PDFJS.externalLinkRel === undefined ? PDFJS.isEvalSupported = (PDFJS.isEvalSupported === undefined ? true : PDFJS.isEvalSupported); -/** - * Opt-in to backwards incompatible API changes. NOTE: - * If the `PDFJS_NEXT` build flag is set, it will override this setting. - * @var {boolean} - */ -PDFJS.pdfjsNext = (PDFJS.pdfjsNext === undefined) ? false : PDFJS.pdfjsNext; - -if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('MOZCENTRAL')) { - var savedOpenExternalLinksInNewWindow = PDFJS.openExternalLinksInNewWindow; - delete PDFJS.openExternalLinksInNewWindow; - Object.defineProperty(PDFJS, 'openExternalLinksInNewWindow', { - get() { - return PDFJS.externalLinkTarget === LinkTarget.BLANK; - }, - set(value) { - if (value) { - deprecated('PDFJS.openExternalLinksInNewWindow, please use ' + - '"PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK" instead.'); - } - if (PDFJS.externalLinkTarget !== LinkTarget.NONE) { - warn('PDFJS.externalLinkTarget is already initialized'); - return; - } - PDFJS.externalLinkTarget = value ? LinkTarget.BLANK : LinkTarget.NONE; - }, - enumerable: true, - configurable: true, - }); - if (savedOpenExternalLinksInNewWindow) { - /** - * (Deprecated) Opens external links in a new window if enabled. - * The default behavior opens external links in the PDF.js window. - * - * NOTE: This property has been deprecated, please use - * `PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK` instead. - * @var {boolean} - */ - PDFJS.openExternalLinksInNewWindow = savedOpenExternalLinksInNewWindow; - } -} - PDFJS.getDocument = getDocument; PDFJS.LoopbackPort = LoopbackPort; PDFJS.PDFDataRangeTransport = PDFDataRangeTransport; @@ -300,8 +258,6 @@ PDFJS.Metadata = Metadata; PDFJS.SVGGraphics = SVGGraphics; -PDFJS.UnsupportedManager = _UnsupportedManager; - export { globalScope, PDFJS, diff --git a/src/display/metadata.js b/src/display/metadata.js index 7878ec838..3ef5c7d67 100644 --- a/src/display/metadata.js +++ b/src/display/metadata.js @@ -13,7 +13,7 @@ * limitations under the License. */ -import { assert, deprecated } from '../shared/util'; +import { assert } from '../shared/util'; import { SimpleXMLParser } from './dom_utils'; class Metadata { @@ -98,11 +98,6 @@ class Metadata { has(name) { return typeof this._metadata[name] !== 'undefined'; } - - get metadata() { - deprecated('`metadata` getter; use `getAll()` instead.'); - return this.getAll(); - } } export { diff --git a/src/pdf.js b/src/pdf.js index e61964152..57ab13faf 100644 --- a/src/pdf.js +++ b/src/pdf.js @@ -64,7 +64,6 @@ exports.UnexpectedResponseException = pdfjsSharedUtil.UnexpectedResponseException; exports.OPS = pdfjsSharedUtil.OPS; exports.UNSUPPORTED_FEATURES = pdfjsSharedUtil.UNSUPPORTED_FEATURES; -exports.isValidUrl = pdfjsDisplayDOMUtils.isValidUrl; exports.createValidAbsoluteUrl = pdfjsSharedUtil.createValidAbsoluteUrl; exports.createObjectURL = pdfjsSharedUtil.createObjectURL; exports.removeNullCharacters = pdfjsSharedUtil.removeNullCharacters; diff --git a/src/shared/compatibility.js b/src/shared/compatibility.js index 359185d09..ca98227c1 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() { diff --git a/test/driver.js b/test/driver.js index 08856c487..6a0ea0183 100644 --- a/test/driver.js +++ b/test/driver.js @@ -255,8 +255,6 @@ var Driver = (function DriverClosure() { // eslint-disable-line no-unused-vars PDFJS.cMapUrl = '../external/bcmaps/'; PDFJS.enableStats = true; PDFJS.imageResourcesPath = '/web/images/'; - // Opt-in to using the latest API. - PDFJS.pdfjsNext = true; // Set the passed options this.inflight = options.inflight; diff --git a/test/unit/api_spec.js b/test/unit/api_spec.js index 660b56d4e..7a50792c9 100644 --- a/test/unit/api_spec.js +++ b/test/unit/api_spec.js @@ -38,7 +38,6 @@ describe('api', function() { beforeAll(function(done) { if (isNodeJS()) { - PDFJS.pdfjsNext = true; // NOTE: To support running the canvas-related tests in Node.js, // a `NodeCanvasFactory` would need to be added (in test_utils.js). } else { @@ -684,7 +683,7 @@ describe('api', function() { it('gets javascript', function(done) { var promise = doc.getJavaScript(); promise.then(function (data) { - expect(data).toEqual([]); + expect(data).toEqual(null); done(); }).catch(function (reason) { done.fail(reason); diff --git a/test/unit/custom_spec.js b/test/unit/custom_spec.js index 4d0510cd0..4e4fedce7 100644 --- a/test/unit/custom_spec.js +++ b/test/unit/custom_spec.js @@ -17,7 +17,6 @@ import { buildGetDocumentParams } from './test_utils'; import { DOMCanvasFactory } from '../../src/display/dom_utils'; import { getDocument } from '../../src/display/api'; import { isNodeJS } from '../../src/shared/util'; -import { PDFJS } from '../../src/display/global'; function getTopLeftPixel(canvasContext) { let imgData = canvasContext.getImageData(0, 0, 1, 1); @@ -38,7 +37,6 @@ describe('custom canvas rendering', function() { beforeAll(function(done) { if (isNodeJS()) { - PDFJS.pdfjsNext = true; // NOTE: To support running the canvas-related tests in Node.js, // a `NodeCanvasFactory` would need to be added (in test_utils.js). } else { diff --git a/test/unit/jasmine-boot.js b/test/unit/jasmine-boot.js index 1405f9990..da57d0b4c 100644 --- a/test/unit/jasmine-boot.js +++ b/test/unit/jasmine-boot.js @@ -90,8 +90,6 @@ function initializePDFJS(callback) { // Configure the worker. displayGlobal.PDFJS.workerSrc = '../../build/generic/build/pdf.worker.js'; - // Opt-in to using the latest API. - displayGlobal.PDFJS.pdfjsNext = true; callback(); }); diff --git a/web/app.js b/web/app.js index 786d4b9ca..ddf0629bc 100644 --- a/web/app.js +++ b/web/app.js @@ -55,13 +55,11 @@ function configure(PDFJS) { } if (typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PRODUCTION')) { PDFJS.cMapUrl = '../external/bcmaps/'; - PDFJS.cMapPacked = true; PDFJS.workerSrc = '../src/worker_loader.js'; - PDFJS.pdfjsNext = true; } else { PDFJS.cMapUrl = '../web/cmaps/'; - PDFJS.cMapPacked = true; } + PDFJS.cMapPacked = true; } const DefaultExternalServices = { @@ -633,11 +631,6 @@ let PDFViewerApplication = { * is opened. */ open(file, args) { - if ((typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) && - (arguments.length > 2 || typeof args === 'number')) { - return Promise.reject( - new Error('Call of open() with obsolete signature.')); - } if (this.pdfLoadingTask) { // We need to destroy already opened document. return this.close().then(() => { @@ -667,12 +660,7 @@ let PDFViewerApplication = { if (args) { for (let prop in args) { - if ((typeof PDFJSDev === 'undefined' || !PDFJSDev.test('PDFJS_NEXT')) && - !PDFJS.pdfjsNext && prop === 'scale') { - console.error('Call of open() with obsolete "scale" argument, ' + - 'please use the "defaultZoomValue" preference instead.'); - continue; - } else if (prop === 'length') { + if (prop === 'length') { this.pdfDocumentProperties.setFileSize(args[prop]); } parameters[prop] = args[prop]; @@ -1047,7 +1035,7 @@ let PDFViewerApplication = { return; } pdfDocument.getJavaScript().then((javaScript) => { - if (javaScript.length === 0) { + if (!javaScript) { return; } javaScript.some((js) => { diff --git a/web/base_viewer.js b/web/base_viewer.js index dcb7125de..bc953977e 100644 --- a/web/base_viewer.js +++ b/web/base_viewer.js @@ -601,11 +601,6 @@ class BaseViewer { * @param {ScrollPageIntoViewParameters} params */ scrollPageIntoView(params) { - if ((typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) && - (arguments.length > 1 || typeof params === 'number')) { - console.error('Call of scrollPageIntoView() with obsolete signature.'); - return; - } if (!this.pdfDocument) { return; } diff --git a/web/pdf_cursor_tools.js b/web/pdf_cursor_tools.js index 6bc3aa850..1e4108994 100644 --- a/web/pdf_cursor_tools.js +++ b/web/pdf_cursor_tools.js @@ -46,22 +46,8 @@ class PDFCursorTools { this._addEventListeners(); - Promise.all([ - preferences.get('cursorToolOnLoad'), - preferences.get('enableHandToolOnLoad') - ]).then(([cursorToolPref, handToolPref]) => { - // If the 'cursorToolOnLoad' preference has not been set to a non-default - // value, attempt to convert the old 'enableHandToolOnLoad' preference. - // TODO: Remove this conversion after a suitable number of releases. - if (handToolPref === true) { - preferences.set('enableHandToolOnLoad', false); - - if (cursorToolPref === CursorTool.SELECT) { - cursorToolPref = CursorTool.HAND; - preferences.set('cursorToolOnLoad', cursorToolPref).catch(() => { }); - } - } - this.switchTool(cursorToolPref); + preferences.get('cursorToolOnLoad').then((value) => { + this.switchTool(value); }).catch(() => { }); } diff --git a/web/pdf_link_service.js b/web/pdf_link_service.js index 5822098df..aecd66c91 100644 --- a/web/pdf_link_service.js +++ b/web/pdf_link_service.js @@ -260,14 +260,6 @@ class PDFLinkService { }); } } else { // Named (or explicit) destination. - if ((typeof PDFJSDev === 'undefined' || PDFJSDev.test('GENERIC')) && - /^\d+$/.test(hash) && hash <= this.pagesCount) { - console.warn('PDFLinkService_setHash: specifying a page number ' + - 'directly after the hash symbol (#) is deprecated, ' + - `please use the "#page=${hash}" form instead.`); - this.page = hash | 0; - } - dest = unescape(hash); try { dest = JSON.parse(dest); diff --git a/web/pdf_page_view.js b/web/pdf_page_view.js index edd0ef582..18c4cf848 100644 --- a/web/pdf_page_view.js +++ b/web/pdf_page_view.js @@ -412,9 +412,7 @@ class PDFPageView { this.paintTask = null; } - if (((typeof PDFJSDev === 'undefined' || - !PDFJSDev.test('PDFJS_NEXT')) && error === 'cancelled') || - error instanceof RenderingCancelledException) { + if (error instanceof RenderingCancelledException) { this.error = null; return Promise.resolve(undefined); } @@ -594,13 +592,8 @@ class PDFPageView { let cancelled = false; let ensureNotCancelled = () => { if (cancelled) { - if ((typeof PDFJSDev !== 'undefined' && - PDFJSDev.test('PDFJS_NEXT')) || PDFJS.pdfjsNext) { - throw new RenderingCancelledException( - 'Rendering cancelled, page ' + this.id, 'svg'); - } else { - throw 'cancelled'; // eslint-disable-line no-throw-literal - } + throw new RenderingCancelledException( + 'Rendering cancelled, page ' + this.id, 'svg'); } }; diff --git a/web/pdf_thumbnail_view.js b/web/pdf_thumbnail_view.js index 1c0c3a42f..4b995313f 100644 --- a/web/pdf_thumbnail_view.js +++ b/web/pdf_thumbnail_view.js @@ -303,9 +303,7 @@ class PDFThumbnailView { this.renderTask = null; } - if (((typeof PDFJSDev === 'undefined' || - !PDFJSDev.test('PDFJS_NEXT')) && error === 'cancelled') || - error instanceof RenderingCancelledException) { + if (error instanceof RenderingCancelledException) { renderCapability.resolve(undefined); return; }