[api-minor] Remove the separate enableScripting option in BaseViewer

Prior to PR 13042, when scripting wasn't really possible to use outside of the full viewer, the `enableScripting` option made sense.
However, at this point in time having to both pass in a `PDFScriptingManager`-instance *and* set the `enableScripting`-boolean when creating a `BaseViewer`-instance feels redundant and (mostly) annoying. Hence this patch, which removes the *separate* boolean and always enables scripting when `scriptingManager` is provided.

The relevant "viewer component" examples are also updated (with a comment), but in such a way that scripting support won't just break when used with the current PDF.js releases.
This commit is contained in:
Jonas Jenwald 2021-07-29 09:53:24 +02:00
parent 4ad5c5d52a
commit 76c805f83b
4 changed files with 13 additions and 14 deletions

View file

@ -79,8 +79,6 @@ const DEFAULT_CACHE_SIZE = 10;
* total pixels, i.e. width * height. Use -1 for no limit. The default value
* is 4096 * 4096 (16 mega-pixels).
* @property {IL10n} l10n - Localization service.
* @property {boolean} [enableScripting] - Enable embedded script execution
* (also requires {scriptingManager} being set). The default value is `false`.
*/
function PDFPageViewBuffer(size) {
@ -195,8 +193,6 @@ class BaseViewer {
this.useOnlyCssZoom = options.useOnlyCssZoom || false;
this.maxCanvasPixels = options.maxCanvasPixels;
this.l10n = options.l10n || NullL10n;
this.enableScripting =
options.enableScripting === true && !!this._scriptingManager;
this.defaultRenderingQueue = !options.renderingQueue;
if (this.defaultRenderingQueue) {
@ -244,6 +240,13 @@ class BaseViewer {
});
}
/**
* @type {boolean}
*/
get enableScripting() {
return !!this._scriptingManager;
}
/**
* @type {number}
*/
@ -572,8 +575,8 @@ class BaseViewer {
if (this.findController) {
this.findController.setDocument(pdfDocument); // Enable searching.
}
if (this.enableScripting) {
this._scriptingManager.setDocument(pdfDocument);
if (this._scriptingManager) {
this._scriptingManager.setDocument(pdfDocument); // Enable scripting.
}
// In addition to 'disableAutoFetch' being set, also attempt to reduce