Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(880)

Unified Diff: content/browser/renderer_host/render_view_host_impl.cc

Issue 894843003: Move the RenderProcessGone IPC from RenderViewHost to RenderFrameHost (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix for swapped out RFHs. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_view_host_impl.cc
diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc
index 2be0fc0877e8dc3c3de566d90418b998ee416749..244d724b0a2e56b00e1a18f5568cb35a7cdde6b9 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -880,13 +880,13 @@ bool RenderViewHostImpl::OnMessageReceived(const IPC::Message& msg) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(RenderViewHostImpl, msg)
+ IPC_MESSAGE_HANDLER(FrameHostMsg_RenderProcessGone, OnRenderProcessGone)
IPC_MESSAGE_HANDLER(ViewHostMsg_ShowView, OnShowView)
IPC_MESSAGE_HANDLER(ViewHostMsg_ShowWidget, OnShowWidget)
IPC_MESSAGE_HANDLER(ViewHostMsg_ShowFullscreenWidget,
OnShowFullscreenWidget)
IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_RunModal, OnRunModal)
IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewReady, OnRenderViewReady)
- IPC_MESSAGE_HANDLER(ViewHostMsg_RenderProcessGone, OnRenderProcessGone)
IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateState, OnUpdateState)
IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateTargetURL, OnUpdateTargetURL)
IPC_MESSAGE_HANDLER(ViewHostMsg_Close, OnClose)
@@ -1051,22 +1051,10 @@ void RenderViewHostImpl::OnRenderViewReady() {
}
void RenderViewHostImpl::OnRenderProcessGone(int status, int exit_code) {
- // Keep the termination status so we can get at it later when we
- // need to know why it died.
- render_view_termination_status_ =
- static_cast<base::TerminationStatus>(status);
-
- // Reset frame tree state associated with this process. This must happen
- // before RenderViewTerminated because observers expect the subframes of any
- // affected frames to be cleared first.
- delegate_->GetFrameTree()->RenderProcessGone(this);
-
- // Our base class RenderWidgetHost needs to reset some stuff.
- RendererExited(render_view_termination_status_, exit_code);
-
- delegate_->RenderViewTerminated(this,
- static_cast<base::TerminationStatus>(status),
- exit_code);
+ // Do nothing, otherwise RenderWidgetHostImpl will assume it is not a
+ // RenderViewHostImpl and destroy itself.
+ // TODO(nasko): Remove this hack once RenderViewHost and RenderWidgetHost are
+ // decoupled.
}
void RenderViewHostImpl::OnUpdateState(int32 page_id, const PageState& state) {

Powered by Google App Engine
This is Rietveld 408576698