| Index: chrome/renderer/render_thread.cc
|
| ===================================================================
|
| --- chrome/renderer/render_thread.cc (revision 79468)
|
| +++ chrome/renderer/render_thread.cc (working copy)
|
| @@ -67,6 +67,7 @@
|
| #include "content/renderer/gpu_video_service_host.h"
|
| #include "content/renderer/indexed_db_dispatcher.h"
|
| #include "content/renderer/plugin_channel_host.h"
|
| +#include "content/renderer/render_process_observer.h"
|
| #include "content/renderer/render_view.h"
|
| #include "content/renderer/render_view_visitor.h"
|
| #include "content/renderer/renderer_webidbfactory_impl.h"
|
| @@ -331,6 +332,11 @@
|
| }
|
|
|
| RenderThread::~RenderThread() {
|
| + for (RenderProcessObserverList::iterator i = observers_.begin();
|
| + i != observers_.end(); ++i) {
|
| + (*i)->OnRenderProcessShutdown();
|
| + }
|
| +
|
| // Wait for all databases to be closed.
|
| if (web_database_observer_impl_.get())
|
| web_database_observer_impl_->WaitForAllDatabasesToClose();
|
| @@ -634,6 +640,12 @@
|
| }
|
|
|
| bool RenderThread::OnControlMessageReceived(const IPC::Message& msg) {
|
| + for (RenderProcessObserverList::iterator i = observers_.begin();
|
| + i != observers_.end(); ++i) {
|
| + if ((*i)->OnControlMessageReceived(msg))
|
| + return true;
|
| + }
|
| +
|
| // Some messages are handled by delegates.
|
| if (appcache_dispatcher_->OnMessageReceived(msg))
|
| return true;
|
|
|