Bug 1529942 - part 2 - move OptionalLoadInfoArgs consumption into Init; r=qdot

Init is called from a Recv* method in ContentParent, where we can
consume rvalue reference OptionalLoadInfoArgs.
This commit is contained in:
Nathan Froyd 2019-02-25 13:13:43 -05:00
parent f71c238411
commit 355ac9a7a0
3 changed files with 10 additions and 8 deletions

View File

@ -3605,7 +3605,7 @@ PExternalHelperAppParent* ContentParent::AllocPExternalHelperAppParent(
const int64_t& aContentLength, const bool& aWasFileChannel,
const OptionalURIParams& aReferrer, PBrowserParent* aBrowser) {
ExternalHelperAppParent* parent = new ExternalHelperAppParent(
uri, aLoadInfoArgs, aContentLength, aWasFileChannel, aContentDisposition,
uri, aContentLength, aWasFileChannel, aContentDisposition,
aContentDispositionHint, aContentDispositionFilename);
parent->AddRef();
return parent;
@ -3626,7 +3626,8 @@ mozilla::ipc::IPCResult ContentParent::RecvPExternalHelperAppConstructor(
const nsString& aContentDispositionFilename, const bool& aForceSave,
const int64_t& aContentLength, const bool& aWasFileChannel,
const OptionalURIParams& aReferrer, PBrowserParent* aBrowser) {
actor->Init(aMimeContentType, aForceSave, aReferrer, aBrowser);
static_cast<ExternalHelperAppParent*>(actor)->Init(
loadInfoArgs, aMimeContentType, aForceSave, aReferrer, aBrowser);
return IPC_OK();
}

View File

@ -34,7 +34,6 @@ NS_IMPL_ISUPPORTS_INHERITED(ExternalHelperAppParent, nsHashPropertyBag,
ExternalHelperAppParent::ExternalHelperAppParent(
const OptionalURIParams& uri,
const mozilla::net::OptionalLoadInfoArgs& aLoadInfoArgs,
const int64_t& aContentLength, const bool& aWasFileChannel,
const nsCString& aContentDispositionHeader,
const uint32_t& aContentDispositionHint,
@ -61,8 +60,6 @@ ExternalHelperAppParent::ExternalHelperAppParent(
mContentDisposition = aContentDispositionHint;
mContentDispositionFilename = aContentDispositionFilename;
}
mozilla::ipc::LoadInfoArgsToLoadInfo(aLoadInfoArgs,
getter_AddRefs(mLoadInfo));
}
already_AddRefed<nsIInterfaceRequestor> GetWindowFromTabParent(
@ -88,10 +85,14 @@ void UpdateContentContext(nsIStreamListener* aListener,
static_cast<nsExternalAppHandler*>(aListener)->SetContentContext(window);
}
void ExternalHelperAppParent::Init(const nsCString& aMimeContentType,
void ExternalHelperAppParent::Init(const mozilla::net::OptionalLoadInfoArgs& aLoadInfoArgs,
const nsCString& aMimeContentType,
const bool& aForceSave,
const OptionalURIParams& aReferrer,
PBrowserParent* aBrowser) {
mozilla::ipc::LoadInfoArgsToLoadInfo(aLoadInfoArgs,
getter_AddRefs(mLoadInfo));
nsCOMPtr<nsIExternalHelperAppService> helperAppService =
do_GetService(NS_EXTERNALHELPERAPPSERVICE_CONTRACTID);
NS_ASSERTION(helperAppService, "No Helper App Service!");

View File

@ -86,12 +86,12 @@ class ExternalHelperAppParent
ExternalHelperAppParent(
const OptionalURIParams& uri,
const mozilla::net::OptionalLoadInfoArgs& aLoadInfoArgs,
const int64_t& contentLength, const bool& wasFileChannel,
const nsCString& aContentDispositionHeader,
const uint32_t& aContentDispositionHint,
const nsString& aContentDispositionFilename);
void Init(const nsCString& aMimeContentType, const bool& aForceSave,
void Init(const mozilla::net::OptionalLoadInfoArgs& aLoadInfoArgs,
const nsCString& aMimeContentType, const bool& aForceSave,
const OptionalURIParams& aReferrer, PBrowserParent* aBrowser);
protected: