Merge pull request #17218 from Snuffleupagus/app-open-API-options

Re-factor how some API-options are handled in `PDFViewerApplication.open` (PR 17208 follow-up)
This commit is contained in:
Tim van der Meij 2023-11-04 12:53:18 +01:00 committed by GitHub
commit 9eb9d3f949
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 14 deletions

View File

@ -870,10 +870,10 @@ const PDFViewerApplication = {
setTitleUsingUrl(url = "", downloadUrl = null) {
this.url = url;
this.baseUrl = url.split("#")[0];
this.baseUrl = url.split("#", 1)[0];
if (downloadUrl) {
this._downloadUrl =
downloadUrl === url ? this.baseUrl : downloadUrl.split("#")[0];
downloadUrl === url ? this.baseUrl : downloadUrl.split("#", 1)[0];
}
if (isDataScheme(url)) {
this._hideViewBookmark();
@ -1020,20 +1020,20 @@ const PDFViewerApplication = {
/* downloadUrl = */ args.url
);
}
// Always set `docBaseUrl` in development mode, and in the (various)
// extension builds.
if (typeof PDFJSDev === "undefined") {
AppOptions.set("docBaseUrl", document.URL.split("#", 1)[0]);
} else if (PDFJSDev.test("MOZCENTRAL || CHROME")) {
AppOptions.set("docBaseUrl", this.baseUrl);
}
// Set the necessary API parameters, using all the available options.
const apiParams = AppOptions.getAll(OptionKind.API);
const params = {
canvasMaxAreaInBytes: AppOptions.get("canvasMaxAreaInBytes"),
const loadingTask = getDocument({
...apiParams,
...args,
};
if (typeof PDFJSDev === "undefined") {
params.docBaseUrl ||= document.URL.split("#")[0];
} else if (PDFJSDev.test("MOZCENTRAL || CHROME")) {
params.docBaseUrl ||= this.baseUrl;
}
const loadingTask = getDocument(params);
});
this.pdfLoadingTask = loadingTask;
loadingTask.onPassword = (updateCallback, reason) => {
@ -1252,7 +1252,7 @@ const PDFViewerApplication = {
this.secondaryToolbar?.setPagesCount(pdfDocument.numPages);
if (typeof PDFJSDev !== "undefined" && PDFJSDev.test("CHROME")) {
const baseUrl = location.href.split("#")[0];
const baseUrl = location.href.split("#", 1)[0];
// Ignore "data:"-URLs for performance reasons, even though it may cause
// internal links to not work perfectly in all cases (see bug 1803050).
this.pdfLinkService.setDocument(

View File

@ -57,7 +57,7 @@ const defaultOptions = {
canvasMaxAreaInBytes: {
/** @type {number} */
value: -1,
kind: OptionKind.BROWSER,
kind: OptionKind.BROWSER + OptionKind.API,
},
isInAutomation: {
/** @type {boolean} */