From 4ddd1bccb4ade9fcee8efc3d21dd87eff5c313d9 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Thu, 18 Jul 2013 18:37:40 +0800 Subject: [PATCH] Fix how we detect renderer crash. --- browser/native_window.cc | 11 ++++------- browser/native_window.h | 3 +-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/browser/native_window.cc b/browser/native_window.cc index 69d0594..cecbb77 100644 --- a/browser/native_window.cc +++ b/browser/native_window.cc @@ -273,13 +273,6 @@ void NativeWindow::RendererResponsive(content::WebContents* source) { FOR_EACH_OBSERVER(NativeWindowObserver, observers_, OnRendererResponsive()); } -void NativeWindow::NavigationStateChanged(const content::WebContents* source, - unsigned changed_flags) { - if (changed_flags == content::INVALIDATE_TYPE_TAB && - source->IsCrashed()) - FOR_EACH_OBSERVER(NativeWindowObserver, observers_, OnRendererCrashed()); -} - bool NativeWindow::OnMessageReceived(const IPC::Message& message) { bool handled = true; IPC_BEGIN_MESSAGE_MAP(NativeWindow, message) @@ -291,6 +284,10 @@ bool NativeWindow::OnMessageReceived(const IPC::Message& message) { return handled; } +void NativeWindow::RenderViewGone(base::TerminationStatus status) { + FOR_EACH_OBSERVER(NativeWindowObserver, observers_, OnRendererCrashed()); +} + void NativeWindow::Observe(int type, const content::NotificationSource& source, const content::NotificationDetails& details) { diff --git a/browser/native_window.h b/browser/native_window.h index e778377..aa040ba 100644 --- a/browser/native_window.h +++ b/browser/native_window.h @@ -151,10 +151,9 @@ class NativeWindow : public content::WebContentsDelegate, const content::WebContents* source) const OVERRIDE; virtual void RendererUnresponsive(content::WebContents* source) OVERRIDE; virtual void RendererResponsive(content::WebContents* source) OVERRIDE; - virtual void NavigationStateChanged(const content::WebContents* source, - unsigned changed_flags) OVERRIDE; // Implementations of content::WebContentsObserver. + virtual void RenderViewGone(base::TerminationStatus status) OVERRIDE; virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; // Implementations of content::NotificationObserver -- 2.7.4