Pass in the "sandboxBundleSrc" option when calling DefaultExternalServices.createScripting

Similar to e.g. the "locale" option, this in *only* done for those build-targets where the "sandboxBundleSrc" is actually defined.
With these changes we can remove an `AppOptions` dependency from the `web/generic_scripting.js` file, thus limiting *direct* `AppOptions` usage in the default viewer files.
This commit is contained in:
Jonas Jenwald 2020-12-20 12:24:26 +01:00
parent d060cd2a61
commit 47ff3195e4
5 changed files with 14 additions and 10 deletions

View file

@ -167,7 +167,7 @@ class DefaultExternalServices {
throw new Error("Not implemented: createL10n");
}
static createScripting() {
static createScripting(options) {
throw new Error("Not implemented: createScripting");
}
@ -1476,7 +1476,12 @@ const PDFViewerApplication = {
if (pdfDocument !== this.pdfDocument) {
return; // The document was closed while the data resolved.
}
const scripting = this.externalServices.createScripting();
const scripting = this.externalServices.createScripting(
typeof PDFJSDev === "undefined" ||
PDFJSDev.test("!PRODUCTION || GENERIC || CHROME")
? { sandboxBundleSrc: AppOptions.get("sandboxBundleSrc") }
: null
);
// Store a reference to the current scripting-instance, to allow destruction
// of the sandbox and removal of the event listeners at document closing.
const internalEvents = new Map(),