summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-21 19:20:20 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-21 19:20:20 +0000
commitee01e6641130a8d8693fab9f6c876a8e7589ad42 (patch)
tree15d4b075c18e1172945cae251a6c6862eb91cdff /chrome/browser/renderer_host
parent9371ece3daf3ae30cec6bcfce42a4daf75944481 (diff)
downloadchromium_src-ee01e6641130a8d8693fab9f6c876a8e7589ad42.zip
chromium_src-ee01e6641130a8d8693fab9f6c876a8e7589ad42.tar.gz
chromium_src-ee01e6641130a8d8693fab9f6c876a8e7589ad42.tar.bz2
Ensure workers don't outlive crashed renderers.
Review URL: http://codereview.chromium.org/114035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16638 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host')
-rw-r--r--chrome/browser/renderer_host/resource_message_filter.cc7
-rw-r--r--chrome/browser/renderer_host/resource_message_filter.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/resource_message_filter.cc b/chrome/browser/renderer_host/resource_message_filter.cc
index 8631742..4749064 100644
--- a/chrome/browser/renderer_host/resource_message_filter.cc
+++ b/chrome/browser/renderer_host/resource_message_filter.cc
@@ -193,6 +193,13 @@ void ResourceMessageFilter::OnChannelConnected(int32 peer_pid) {
resource_dispatcher_host_, ui_loop());
}
+void ResourceMessageFilter::OnChannelError() {
+ NotificationService::current()->Notify(
+ NotificationType::RESOURCE_MESSAGE_FILTER_SHUTDOWN,
+ Source<ResourceMessageFilter>(this),
+ NotificationService::NoDetails());
+}
+
// Called on the IPC thread:
void ResourceMessageFilter::OnChannelClosing() {
channel_ = NULL;
diff --git a/chrome/browser/renderer_host/resource_message_filter.h b/chrome/browser/renderer_host/resource_message_filter.h
index e9bd7a9..9f763f7 100644
--- a/chrome/browser/renderer_host/resource_message_filter.h
+++ b/chrome/browser/renderer_host/resource_message_filter.h
@@ -77,6 +77,7 @@ class ResourceMessageFilter : public IPC::ChannelProxy::MessageFilter,
// IPC::ChannelProxy::MessageFilter methods:
virtual void OnFilterAdded(IPC::Channel* channel);
virtual void OnChannelConnected(int32 peer_pid);
+ virtual void OnChannelError();
virtual void OnChannelClosing();
virtual bool OnMessageReceived(const IPC::Message& message);