diff --git a/web/firefoxcom.js b/web/firefoxcom.js index 64514c9eb..e14cdcfc2 100644 --- a/web/firefoxcom.js +++ b/web/firefoxcom.js @@ -14,8 +14,8 @@ */ import "../extensions/firefox/tools/l10n.js"; -import { createObjectURL, PDFDataRangeTransport, shadow } from "pdfjs-lib"; import { DefaultExternalServices, PDFViewerApplication } from "./app.js"; +import { PDFDataRangeTransport, shadow } from "pdfjs-lib"; import { BasePreferences } from "./preferences.js"; import { DEFAULT_SCALE_VALUE } from "./ui_utils.js"; @@ -100,14 +100,23 @@ class DownloadManager { } downloadData(data, filename, contentType) { - const blobUrl = createObjectURL(data, contentType); + const blobUrl = URL.createObjectURL( + new Blob([data], { type: contentType }) + ); + const onResponse = err => { + URL.revokeObjectURL(blobUrl); + }; - FirefoxCom.request("download", { - blobUrl, - originalUrl: blobUrl, - filename, - isAttachment: true, - }); + FirefoxCom.request( + "download", + { + blobUrl, + originalUrl: blobUrl, + filename, + isAttachment: true, + }, + onResponse + ); } download(blob, url, filename) {