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

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

Issue 1159183002: Improve process crash handling in RenderViewHost & mock RenderProcessHost. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix compile problem in webview_interactive_uitest.cc Created 5 years, 7 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 d5ef454ffe8bc8996cced31789daeb808abe694f..4e81849d222a27d2e458cb6ff239ea2f4f4749de 100644
--- a/content/browser/renderer_host/render_view_host_impl.cc
+++ b/content/browser/renderer_host/render_view_host_impl.cc
@@ -227,6 +227,7 @@ RenderViewHostImpl::RenderViewHostImpl(
DCHECK(instance_.get());
CHECK(delegate_); // http://crbug.com/82827
+ GetProcess()->AddObserver(this);
GetProcess()->EnableSendQueue();
if (ResourceDispatcherHostImpl::Get()) {
@@ -261,6 +262,7 @@ RenderViewHostImpl::~RenderViewHostImpl() {
}
delegate_->RenderViewDeleted(this);
+ GetProcess()->RemoveObserver(this);
}
RenderViewHostDelegate* RenderViewHostImpl::GetDelegate() const {
@@ -580,6 +582,17 @@ void RenderViewHostImpl::RequestFindMatchRects(int current_version) {
}
#endif
+void RenderViewHostImpl::RenderProcessExited(RenderProcessHost* host,
+ base::TerminationStatus status,
+ int exit_code) {
+ if (!renderer_initialized())
+ return;
+
+ RenderWidgetHostImpl::RendererExited(status, exit_code);
+ delegate_->RenderViewTerminated(
+ this, static_cast<base::TerminationStatus>(status), exit_code);
+}
+
void RenderViewHostImpl::DragTargetDragEnter(
const DropData& drop_data,
const gfx::Point& client_pt,
« no previous file with comments | « content/browser/renderer_host/render_view_host_impl.h ('k') | content/browser/renderer_host/render_widget_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698