Skip to content

Commit

Permalink
Merge pull request #18236 from Snuffleupagus/rm-downloadUrl
Browse files Browse the repository at this point in the history
Remove the `DownloadManager.downloadUrl` method
  • Loading branch information
timvandermeij authored Jun 13, 2024
2 parents f8ffc5b + 42999e5 commit 47791a4
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 37 deletions.
22 changes: 14 additions & 8 deletions web/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -1084,18 +1084,21 @@ const PDFViewerApplication = {
},

async download(options = {}) {
const url = this._downloadUrl,
filename = this._docFilename;
let data;
try {
this._ensureDownloadComplete();

const data = await this.pdfDocument.getData();
this.downloadManager.download(data, url, filename, options);
data = await this.pdfDocument.getData();
} catch {
// When the PDF document isn't ready, or the PDF file is still
// downloading, simply download using the URL.
this.downloadManager.downloadUrl(url, filename, options);
}
this.downloadManager.download(
data,
this._downloadUrl,
this._docFilename,
options
);
},

async save(options = {}) {
Expand All @@ -1105,13 +1108,16 @@ const PDFViewerApplication = {
this._saveInProgress = true;
await this.pdfScriptingManager.dispatchWillSave();

const url = this._downloadUrl,
filename = this._docFilename;
try {
this._ensureDownloadComplete();

const data = await this.pdfDocument.saveDocument();
this.downloadManager.download(data, url, filename, options);
this.downloadManager.download(
data,
this._downloadUrl,
this._docFilename,
options
);
} catch (reason) {
// When the PDF document isn't ready, or the PDF file is still
// downloading, simply fallback to a "regular" download.
Expand Down
23 changes: 12 additions & 11 deletions web/download_manager.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,6 @@ function download(blobUrl, filename) {
class DownloadManager {
#openBlobUrls = new WeakMap();

downloadUrl(url, filename, _options) {
if (!createValidAbsoluteUrl(url, "http://example.com")) {
console.error(`downloadUrl - not a valid URL: ${url}`);
return; // restricted/invalid URL
}
download(url + "#pdfjs.action=download", filename);
}

downloadData(data, filename, contentType) {
const blobUrl = URL.createObjectURL(
new Blob([data], { type: contentType })
Expand Down Expand Up @@ -114,9 +106,18 @@ class DownloadManager {
}

download(data, url, filename, _options) {
const blobUrl = URL.createObjectURL(
new Blob([data], { type: "application/pdf" })
);
let blobUrl;
if (data) {
blobUrl = URL.createObjectURL(
new Blob([data], { type: "application/pdf" })
);
} else {
if (!createValidAbsoluteUrl(url, "http://example.com")) {
console.error(`download - not a valid URL: ${url}`);
return;
}
blobUrl = url + "#pdfjs.action=download";
}
download(blobUrl, filename);
}
}
Expand Down
14 changes: 3 additions & 11 deletions web/firefoxcom.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,14 +82,6 @@ class FirefoxCom {
class DownloadManager {
#openBlobUrls = new WeakMap();

downloadUrl(url, filename, options = {}) {
FirefoxCom.request("download", {
originalUrl: url,
filename,
options,
});
}

downloadData(data, filename, contentType) {
const blobUrl = URL.createObjectURL(
new Blob([data], { type: contentType })
Expand Down Expand Up @@ -141,9 +133,9 @@ class DownloadManager {
}

download(data, url, filename, options = {}) {
const blobUrl = URL.createObjectURL(
new Blob([data], { type: "application/pdf" })
);
const blobUrl = data
? URL.createObjectURL(new Blob([data], { type: "application/pdf" }))
: null;

FirefoxCom.request("download", {
blobUrl,
Expand Down
7 changes: 0 additions & 7 deletions web/interfaces.js
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,6 @@ class IRenderableView {
* @interface
*/
class IDownloadManager {
/**
* @param {string} url
* @param {string} filename
* @param {Object} [options]
*/
downloadUrl(url, filename, options) {}

/**
* @param {Uint8Array} data
* @param {string} filename
Expand Down

0 comments on commit 47791a4

Please sign in to comment.