Bug 1367334 - Use pdf name as default name of save to file in embedded pdf case. r?brsun
MozReview-Commit-ID: 1AZxOj5DZzC
--- a/browser/extensions/mortar/host/common/ppapi-runtime.jsm
+++ b/browser/extensions/mortar/host/common/ppapi-runtime.jsm
@@ -1806,17 +1806,18 @@ class PPAPIInstance {
}
viewportActionHandler(message) {
switch(message.type) {
case 'setFullscreen':
this.mm.sendAsyncMessage("ppapi.js:setFullscreen", message.fullscreen);
break;
case 'save':
- this.mm.sendAsyncMessage("ppapipdf.js:save");
+ this.mm.sendAsyncMessage("ppapipdf.js:save", {
+ url: this.info.url });
break;
case 'setHash':
this.mm.sendAsyncMessage("ppapipdf.js:setHash", message.hash);
break;
case 'startPrint':
// We need permission for showing print dialog to get print settings
this.mm.sendAsyncMessage("ppapipdf.js:getPrintSettings", {
url: this.info.url });
--- a/browser/extensions/mortar/host/pdf/ppapi-content-sandbox.js
+++ b/browser/extensions/mortar/host/pdf/ppapi-content-sandbox.js
@@ -217,18 +217,18 @@ mm.addMessageListener("ppapipdf.js:openL
case PDFIUM_WINDOW_OPEN_DISPOSITION.NEW_WINDOW:
containerWindow.open(data.url, "",
"noopener=1,menubar=1,toolbar=1," +
"location=1,personalbar=1,status=1,resizable");
break;
}
});
-mm.addMessageListener("ppapipdf.js:save", () => {
- let url = containerWindow.document.location;
+mm.addMessageListener("ppapipdf.js:save", ({ data }) => {
+ let url = new containerWindow.URL(data.url);
let filename = getFileName(url);
let originalUri = NetUtil.newURI(url.href);
let extHelperAppSvc =
Cc["@mozilla.org/uriloader/external-helper-app-service;1"].
getService(Ci.nsIExternalHelperAppService);
let docIsPrivate =
PrivateBrowsingUtils.isContentWindowPrivate(containerWindow);