summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/render_view.cc
diff options
context:
space:
mode:
authorjohnnyg@chromium.org <johnnyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-14 23:59:26 +0000
committerjohnnyg@chromium.org <johnnyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-14 23:59:26 +0000
commitb6849bdae36ff6533d7a64b0077be57005e11a81 (patch)
treee2450acd26cf7e280b4e62cf8daf97f6d57ba04e /chrome/renderer/render_view.cc
parent7ab1e7d655b5207df4d23f046ca6a927da9df007 (diff)
downloadchromium_src-b6849bdae36ff6533d7a64b0077be57005e11a81.zip
chromium_src-b6849bdae36ff6533d7a64b0077be57005e11a81.tar.gz
chromium_src-b6849bdae36ff6533d7a64b0077be57005e11a81.tar.bz2
Refactor notification provider in renderer process to not use a message filter.
BUG=24241 TEST=not crashing Review URL: http://codereview.chromium.org/276032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29064 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/render_view.cc')
-rw-r--r--chrome/renderer/render_view.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index f4618da..5691a84 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -230,6 +230,8 @@ RenderView::RenderView(RenderThreadBase* render_thread,
delay_seconds_for_form_state_sync_(kDefaultDelaySecondsForFormStateSync),
preferred_width_(0),
send_preferred_width_changes_(false),
+ ALLOW_THIS_IN_INITIALIZER_LIST(
+ notification_provider_(new NotificationProvider(this))),
determine_page_text_after_loading_stops_(false),
view_type_(ViewType::INVALID),
browser_window_id_(-1),
@@ -262,7 +264,6 @@ RenderView::~RenderView() {
#endif
render_thread_->RemoveFilter(audio_message_filter_);
- render_thread_->RemoveFilter(notification_provider_.get());
#ifndef NDEBUG
// Make sure we are no longer referenced by the ViewMap.
@@ -346,8 +347,6 @@ void RenderView::Init(gfx::NativeViewId parent_hwnd,
devtools_agent_.reset(new DevToolsAgent(routing_id, this));
- notification_provider_ = new NotificationProvider(this);
-
webwidget_ = WebView::Create(this);
Singleton<ViewMap>::get()->insert(std::make_pair(webview(), this));
webkit_preferences_.Apply(webview());
@@ -376,7 +375,6 @@ void RenderView::Init(gfx::NativeViewId parent_hwnd,
audio_message_filter_ = new AudioMessageFilter(routing_id_);
render_thread_->AddFilter(audio_message_filter_);
- render_thread_->AddFilter(notification_provider_.get());
}
void RenderView::OnMessageReceived(const IPC::Message& message) {
@@ -389,6 +387,8 @@ void RenderView::OnMessageReceived(const IPC::Message& message) {
return;
if (devtools_agent_.get() && devtools_agent_->OnMessageReceived(message))
return;
+ if (notification_provider_->OnMessageReceived(message))
+ return;
IPC_BEGIN_MESSAGE_MAP(RenderView, message)
IPC_MESSAGE_HANDLER(ViewMsg_CaptureThumbnail, SendThumbnail)