diff options
author | johnnyg@chromium.org <johnnyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-14 23:59:26 +0000 |
---|---|---|
committer | johnnyg@chromium.org <johnnyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-14 23:59:26 +0000 |
commit | b6849bdae36ff6533d7a64b0077be57005e11a81 (patch) | |
tree | e2450acd26cf7e280b4e62cf8daf97f6d57ba04e /chrome/renderer/render_view.cc | |
parent | 7ab1e7d655b5207df4d23f046ca6a927da9df007 (diff) | |
download | chromium_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.cc | 8 |
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) |