Skip to content

Commit

Permalink
Merge pull request #12191 from Snuffleupagus/rm-AppOptions-disableCre…
Browse files Browse the repository at this point in the history
…ateObjectURL

Remove the `disableCreateObjectURL` option from `web/app_options.js`
  • Loading branch information
timvandermeij authored Aug 11, 2020
2 parents ac654db + 5b94ed5 commit 3380f2a
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 27 deletions.
7 changes: 3 additions & 4 deletions web/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ import { PDFThumbnailViewer } from "./pdf_thumbnail_viewer.js";
import { PDFViewer } from "./pdf_viewer.js";
import { SecondaryToolbar } from "./secondary_toolbar.js";
import { Toolbar } from "./toolbar.js";
import { viewerCompatibilityParams } from "./viewer_compatibility.js";
import { ViewHistory } from "./view_history.js";

const DEFAULT_SCALE_DELTA = 1.1;
Expand Down Expand Up @@ -408,9 +409,7 @@ const PDFViewerApplication = {
});
this.pdfLinkService = pdfLinkService;

const downloadManager = this.externalServices.createDownloadManager({
disableCreateObjectURL: AppOptions.get("disableCreateObjectURL"),
});
const downloadManager = this.externalServices.createDownloadManager();
this.downloadManager = downloadManager;

const findController = new PDFFindController({
Expand Down Expand Up @@ -2225,7 +2224,7 @@ if (typeof PDFJSDev === "undefined" || PDFJSDev.test("GENERIC")) {
}
const file = evt.fileInput.files[0];

if (!AppOptions.get("disableCreateObjectURL")) {
if (!viewerCompatibilityParams.disableCreateObjectURL) {
let url = URL.createObjectURL(file);
if (file.name) {
url = { url, originalUrl: file.name };
Expand Down
6 changes: 0 additions & 6 deletions web/app_options.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,6 @@ const defaultOptions = {
value: "",
kind: OptionKind.VIEWER + OptionKind.PREFERENCE,
},
disableCreateObjectURL: {
/** @type {boolean} */
value: false,
compatibility: viewerCompatibilityParams.disableCreateObjectURL,
kind: OptionKind.VIEWER,
},
disableHistory: {
/** @type {boolean} */
value: false,
Expand Down
11 changes: 2 additions & 9 deletions web/download_manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,6 @@ if (typeof PDFJSDev !== "undefined" && !PDFJSDev.test("CHROME || GENERIC")) {
);
}

const DISABLE_CREATE_OBJECT_URL =
viewerCompatibilityParams.disableCreateObjectURL || false;

function download(blobUrl, filename) {
const a = document.createElement("a");
if (!a.click) {
Expand All @@ -46,10 +43,6 @@ function download(blobUrl, filename) {
}

class DownloadManager {
constructor({ disableCreateObjectURL = DISABLE_CREATE_OBJECT_URL }) {
this.disableCreateObjectURL = disableCreateObjectURL;
}

downloadUrl(url, filename) {
if (!createValidAbsoluteUrl(url, "http://example.com")) {
return; // restricted/invalid URL
Expand All @@ -66,7 +59,7 @@ class DownloadManager {
const blobUrl = createObjectURL(
data,
contentType,
this.disableCreateObjectURL
viewerCompatibilityParams.disableCreateObjectURL
);
download(blobUrl, filename);
}
Expand All @@ -80,7 +73,7 @@ class DownloadManager {
return;
}

if (this.disableCreateObjectURL) {
if (viewerCompatibilityParams.disableCreateObjectURL) {
// URL.createObjectURL is not supported
this.downloadUrl(url, filename);
return;
Expand Down
4 changes: 0 additions & 4 deletions web/firefoxcom.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,6 @@ const FirefoxCom = (function FirefoxComClosure() {
})();

class DownloadManager {
constructor(options) {
this.disableCreateObjectURL = false;
}

downloadUrl(url, filename) {
FirefoxCom.request("download", {
originalUrl: url,
Expand Down
3 changes: 2 additions & 1 deletion web/pdf_attachment_viewer.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

import { createPromiseCapability, getFilenameFromUrl } from "pdfjs-lib";
import { BaseTreeViewer } from "./base_tree_viewer.js";
import { viewerCompatibilityParams } from "./viewer_compatibility.js";

/**
* @typedef {Object} PDFAttachmentViewerOptions
Expand Down Expand Up @@ -169,7 +170,7 @@ class PDFAttachmentViewer extends BaseTreeViewer {
const element = document.createElement("a");
if (
/\.pdf$/i.test(filename) &&
!this.downloadManager.disableCreateObjectURL
!viewerCompatibilityParams.disableCreateObjectURL
) {
this._bindPdfLink(element, { content: item.content, filename });
} else {
Expand Down
8 changes: 5 additions & 3 deletions web/pdf_print_service.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import { CSS_UNITS, NullL10n } from "./ui_utils.js";
import { PDFPrintServiceFactory, PDFViewerApplication } from "./app.js";
import { AppOptions } from "./app_options.js";
import { viewerCompatibilityParams } from "./viewer_compatibility.js";

let activeService = null;
let overlayManager = null;
Expand Down Expand Up @@ -78,7 +78,6 @@ function PDFPrintService(
this.printContainer = printContainer;
this._printResolution = printResolution || 150;
this.l10n = l10n || NullL10n;
this.disableCreateObjectURL = AppOptions.get("disableCreateObjectURL");
this.currentPage = -1;
// The temporary canvas where renderPage paints one page at a time.
this.scratchCanvas = document.createElement("canvas");
Expand Down Expand Up @@ -188,7 +187,10 @@ PDFPrintService.prototype = {
img.style.height = printItem.height;

const scratchCanvas = this.scratchCanvas;
if ("toBlob" in scratchCanvas && !this.disableCreateObjectURL) {
if (
"toBlob" in scratchCanvas &&
!viewerCompatibilityParams.disableCreateObjectURL
) {
scratchCanvas.toBlob(function (blob) {
img.src = URL.createObjectURL(blob);
});
Expand Down

0 comments on commit 3380f2a

Please sign in to comment.