diff --git a/dom/base/nsContentPermissionHelper.cpp b/dom/base/nsContentPermissionHelper.cpp index be7372eed895..650f85e3cc2a 100644 --- a/dom/base/nsContentPermissionHelper.cpp +++ b/dom/base/nsContentPermissionHelper.cpp @@ -127,7 +127,6 @@ class ContentPermissionRequestParent : public PContentPermissionRequestParent private: virtual bool Recvprompt(); virtual bool RecvNotifyVisibility(const bool& aIsVisible); - virtual bool RecvDestroy(); virtual void ActorDestroy(ActorDestroyReason why); }; @@ -168,13 +167,6 @@ ContentPermissionRequestParent::RecvNotifyVisibility(const bool& aIsVisible) return true; } -bool -ContentPermissionRequestParent::RecvDestroy() -{ - Unused << PContentPermissionRequestParent::Send__delete__(this); - return true; -} - void ContentPermissionRequestParent::ActorDestroy(ActorDestroyReason why) { @@ -617,7 +609,7 @@ nsContentPermissionRequestProxy::Cancel() nsTArray emptyChoices; - Unused << mParent->SendNotifyResult(false, emptyChoices); + Unused << ContentPermissionRequestParent::Send__delete__(mParent, false, emptyChoices); mParent = nullptr; return NS_OK; } @@ -686,7 +678,7 @@ nsContentPermissionRequestProxy::Allow(JS::HandleValue aChoices) return NS_ERROR_FAILURE; } - Unused << mParent->SendNotifyResult(true, choices); + Unused << ContentPermissionRequestParent::Send__delete__(mParent, true, choices); mParent = nullptr; return NS_OK; } @@ -740,10 +732,9 @@ RemotePermissionRequest::DoAllow(JS::HandleValue aChoices) // PContentPermissionRequestChild bool -RemotePermissionRequest::RecvNotifyResult(const bool& aAllow, - InfallibleTArray&& aChoices) +RemotePermissionRequest::Recv__delete__(const bool& aAllow, + InfallibleTArray&& aChoices) { - Unused << this->SendDestroy(); mListener->RemoveListener(); mListener = nullptr; diff --git a/dom/base/nsContentPermissionHelper.h b/dom/base/nsContentPermissionHelper.h index d9c531bc1a88..3b030d9ad3a8 100644 --- a/dom/base/nsContentPermissionHelper.h +++ b/dom/base/nsContentPermissionHelper.h @@ -188,8 +188,8 @@ public: nsPIDOMWindow* aWindow); // It will be called when prompt dismissed. - virtual bool RecvNotifyResult(const bool &aAllow, - InfallibleTArray&& aChoices) override; + virtual bool Recv__delete__(const bool &aAllow, + InfallibleTArray&& aChoices) override; virtual bool RecvGetVisibility() override; diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index b6f7da553c04..0560dc5fe44b 100755 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -2246,7 +2246,9 @@ ContentParent::NotifyTabDestroyed(const TabId& aTabId, // Need to close undeleted ContentPermissionRequestParents before tab is closed. for (auto& permissionRequestParent : parentArray) { nsTArray emptyChoices; - Unused << PContentPermissionRequestParent::Send__delete__(permissionRequestParent); + Unused << PContentPermissionRequestParent::Send__delete__(permissionRequestParent, + false, + emptyChoices); } // There can be more than one PBrowser for a given app process diff --git a/dom/ipc/PContentPermissionRequest.ipdl b/dom/ipc/PContentPermissionRequest.ipdl index 0afe70928438..05f9d5e8e688 100644 --- a/dom/ipc/PContentPermissionRequest.ipdl +++ b/dom/ipc/PContentPermissionRequest.ipdl @@ -15,12 +15,10 @@ protocol PContentPermissionRequest parent: prompt(); NotifyVisibility(bool visibility); - Destroy(); child: GetVisibility(); - NotifyResult(bool allow, PermissionChoice[] choices); - __delete__(); + __delete__(bool allow, PermissionChoice[] choices); };