summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/command_buffer_proxy.cc7
-rw-r--r--chrome/renderer/command_buffer_proxy.h2
-rw-r--r--chrome/renderer/device_orientation_dispatcher.h6
-rw-r--r--chrome/renderer/devtools_agent.h10
-rw-r--r--chrome/renderer/devtools_client.h10
-rw-r--r--chrome/renderer/geolocation_dispatcher_old.h8
-rw-r--r--chrome/renderer/gpu_channel_host.cc4
-rw-r--r--chrome/renderer/gpu_channel_host.h2
-rw-r--r--chrome/renderer/gpu_video_decoder_host.cc7
-rw-r--r--chrome/renderer/gpu_video_decoder_host.h2
-rw-r--r--chrome/renderer/indexed_db_dispatcher.h7
-rw-r--r--chrome/renderer/mock_render_thread.cc3
-rw-r--r--chrome/renderer/mock_render_thread.h2
-rw-r--r--chrome/renderer/notification_provider.h5
-rw-r--r--chrome/renderer/plugin_channel_host.cc7
-rw-r--r--chrome/renderer/plugin_channel_host.h2
-rw-r--r--chrome/renderer/render_thread.cc9
-rw-r--r--chrome/renderer/render_thread.h2
-rw-r--r--chrome/renderer/render_view.cc18
-rw-r--r--chrome/renderer/render_view.h2
-rw-r--r--chrome/renderer/render_widget.cc42
-rw-r--r--chrome/renderer/render_widget.h2
-rw-r--r--chrome/renderer/renderer_main_unittest.cc5
-rw-r--r--chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc6
-rw-r--r--chrome/renderer/safe_browsing/render_view_fake_resources_test.cc3
-rw-r--r--chrome/renderer/safe_browsing/render_view_fake_resources_test.h2
-rw-r--r--chrome/renderer/speech_input_dispatcher.h8
-rw-r--r--chrome/renderer/webplugin_delegate_proxy.cc8
-rw-r--r--chrome/renderer/webplugin_delegate_proxy.h2
-rw-r--r--chrome/renderer/websharedworker_proxy.cc5
-rw-r--r--chrome/renderer/websharedworker_proxy.h2
-rw-r--r--chrome/renderer/webworker_proxy.cc7
-rw-r--r--chrome/renderer/webworker_proxy.h2
33 files changed, 119 insertions, 90 deletions
diff --git a/chrome/renderer/command_buffer_proxy.cc b/chrome/renderer/command_buffer_proxy.cc
index 0cc1e6a..21eee90 100644
--- a/chrome/renderer/command_buffer_proxy.cc
+++ b/chrome/renderer/command_buffer_proxy.cc
@@ -34,14 +34,17 @@ CommandBufferProxy::~CommandBufferProxy() {
}
}
-void CommandBufferProxy::OnMessageReceived(const IPC::Message& message) {
+bool CommandBufferProxy::OnMessageReceived(const IPC::Message& message) {
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(CommandBufferProxy, message)
IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_UpdateState, OnUpdateState);
IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_SwapBuffers, OnSwapBuffers);
IPC_MESSAGE_HANDLER(GpuCommandBufferMsg_NotifyRepaint,
OnNotifyRepaint);
- IPC_MESSAGE_UNHANDLED_ERROR()
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
+ DCHECK(handled);
+ return handled;
}
void CommandBufferProxy::OnChannelError() {
diff --git a/chrome/renderer/command_buffer_proxy.h b/chrome/renderer/command_buffer_proxy.h
index 245c0580..6f3688f 100644
--- a/chrome/renderer/command_buffer_proxy.h
+++ b/chrome/renderer/command_buffer_proxy.h
@@ -38,7 +38,7 @@ class CommandBufferProxy : public gpu::CommandBuffer,
virtual ~CommandBufferProxy();
// IPC::Channel::Listener implementation:
- virtual void OnMessageReceived(const IPC::Message& message);
+ virtual bool OnMessageReceived(const IPC::Message& message);
virtual void OnChannelError();
int route_id() const { return route_id_; }
diff --git a/chrome/renderer/device_orientation_dispatcher.h b/chrome/renderer/device_orientation_dispatcher.h
index e2abf37..88c1ef5 100644
--- a/chrome/renderer/device_orientation_dispatcher.h
+++ b/chrome/renderer/device_orientation_dispatcher.h
@@ -8,18 +8,20 @@
#include "third_party/WebKit/WebKit/chromium/public/WebDeviceOrientationClient.h"
#include "base/scoped_ptr.h"
+#include "ipc/ipc_channel.h"
class RenderView;
-namespace IPC { class Message; }
namespace WebKit { class WebDeviceOrientation; }
struct ViewMsg_DeviceOrientationUpdated_Params;
-class DeviceOrientationDispatcher : public WebKit::WebDeviceOrientationClient {
+class DeviceOrientationDispatcher : public WebKit::WebDeviceOrientationClient,
+ public IPC::Channel::Listener {
public:
explicit DeviceOrientationDispatcher(RenderView* render_view);
virtual ~DeviceOrientationDispatcher();
+ // IPC::Channel::Implementation.
bool OnMessageReceived(const IPC::Message& msg);
// From WebKit::WebDeviceOrientationClient.
diff --git a/chrome/renderer/devtools_agent.h b/chrome/renderer/devtools_agent.h
index ebb06dd..14a7247 100644
--- a/chrome/renderer/devtools_agent.h
+++ b/chrome/renderer/devtools_agent.h
@@ -11,12 +11,9 @@
#include "base/basictypes.h"
#include "chrome/common/devtools_messages.h"
+#include "ipc/ipc_channel.h"
#include "third_party/WebKit/WebKit/chromium/public/WebDevToolsAgentClient.h"
-namespace IPC {
-class Message;
-}
-
namespace WebKit {
class WebDevToolsAgent;
}
@@ -28,14 +25,15 @@ struct DevToolsMessageData;
// agents with the communication capabilities. All messages from/to Glue's
// agents infrastructure are flowing through this comminucation agent.
// There is a corresponding DevToolsClient object on the client side.
-class DevToolsAgent : public WebKit::WebDevToolsAgentClient {
+class DevToolsAgent : public WebKit::WebDevToolsAgentClient,
+ public IPC::Channel::Listener {
public:
DevToolsAgent(int routing_id, RenderView* view);
virtual ~DevToolsAgent();
void OnNavigate();
- // IPC message interceptor. Called on the Render thread.
+ // IPC::Channel::Listener implementation.
virtual bool OnMessageReceived(const IPC::Message& message);
// WebDevToolsAgentClient implementation
diff --git a/chrome/renderer/devtools_client.h b/chrome/renderer/devtools_client.h
index 577e189..463dc35 100644
--- a/chrome/renderer/devtools_client.h
+++ b/chrome/renderer/devtools_client.h
@@ -10,11 +10,9 @@
#include "base/basictypes.h"
#include "base/scoped_ptr.h"
+#include "ipc/ipc_channel.h"
#include "third_party/WebKit/WebKit/chromium/public/WebDevToolsFrontendClient.h"
-namespace IPC {
-class Message;
-}
class MessageLoop;
class RenderView;
@@ -31,13 +29,13 @@ struct DevToolsMessageData;
// corresponding DevToolsAgent object.
// TODO(yurys): now the client is almost empty later it will delegate calls to
// code in glue
-class DevToolsClient : public WebKit::WebDevToolsFrontendClient {
+class DevToolsClient : public WebKit::WebDevToolsFrontendClient,
+ public IPC::Channel::Listener {
public:
explicit DevToolsClient(RenderView* view);
virtual ~DevToolsClient();
- // Called to possibly handle the incoming IPC message. Returns true if
- // handled. Called in render thread.
+ // IPC::Channel::Listener implementation.
bool OnMessageReceived(const IPC::Message& message);
// WebDevToolsFrontendClient implementation
diff --git a/chrome/renderer/geolocation_dispatcher_old.h b/chrome/renderer/geolocation_dispatcher_old.h
index 51567ef..ab93c14 100644
--- a/chrome/renderer/geolocation_dispatcher_old.h
+++ b/chrome/renderer/geolocation_dispatcher_old.h
@@ -12,7 +12,7 @@
#include "base/basictypes.h"
#include "base/id_map.h"
-#include "ipc/ipc_message.h"
+#include "ipc/ipc_channel.h"
#include "googleurl/src/gurl.h"
#include "third_party/WebKit/WebKit/chromium/public/WebGeolocationService.h"
@@ -25,13 +25,13 @@ struct Geoposition;
// It's the complement of GeolocationDispatcherHostOld (owned by
// RenderViewHost).
-class GeolocationDispatcherOld : public WebKit::WebGeolocationService {
+class GeolocationDispatcherOld : public WebKit::WebGeolocationService,
+ public IPC::Channel::Listener {
public:
explicit GeolocationDispatcherOld(RenderView* render_view);
virtual ~GeolocationDispatcherOld();
- // Called to possibly handle the incoming IPC message. Returns true if
- // handled. Called in render thread.
+ // IPC::Channel::Listener implementation
bool OnMessageReceived(const IPC::Message& msg);
// WebKit::WebGeolocationService.
diff --git a/chrome/renderer/gpu_channel_host.cc b/chrome/renderer/gpu_channel_host.cc
index 80baea9..ecf7bfc 100644
--- a/chrome/renderer/gpu_channel_host.cc
+++ b/chrome/renderer/gpu_channel_host.cc
@@ -37,14 +37,14 @@ const GPUInfo& GpuChannelHost::gpu_info() const {
return gpu_info_;
}
-void GpuChannelHost::OnMessageReceived(const IPC::Message& message) {
+bool GpuChannelHost::OnMessageReceived(const IPC::Message& message) {
DCHECK(message.routing_id() != MSG_ROUTING_CONTROL);
// The object to which the message is addressed might have been destroyed.
// This is expected, for example an asynchronous SwapBuffers notification
// to a command buffer proxy that has since been destroyed. This function
// fails silently in that case.
- router_.RouteMessage(message);
+ return router_.RouteMessage(message);
}
void GpuChannelHost::OnChannelConnected(int32 peer_pid) {
diff --git a/chrome/renderer/gpu_channel_host.h b/chrome/renderer/gpu_channel_host.h
index 8d9c684..42eebba 100644
--- a/chrome/renderer/gpu_channel_host.h
+++ b/chrome/renderer/gpu_channel_host.h
@@ -53,7 +53,7 @@ class GpuChannelHost : public IPC::Channel::Listener,
const GPUInfo& gpu_info() const;
// IPC::Channel::Listener implementation:
- virtual void OnMessageReceived(const IPC::Message& msg);
+ virtual bool OnMessageReceived(const IPC::Message& msg);
virtual void OnChannelConnected(int32 peer_pid);
virtual void OnChannelError();
diff --git a/chrome/renderer/gpu_video_decoder_host.cc b/chrome/renderer/gpu_video_decoder_host.cc
index 44599f3..9d9ba04 100644
--- a/chrome/renderer/gpu_video_decoder_host.cc
+++ b/chrome/renderer/gpu_video_decoder_host.cc
@@ -32,7 +32,8 @@ void GpuVideoDecoderHost::OnChannelError() {
ipc_sender_ = NULL;
}
-void GpuVideoDecoderHost::OnMessageReceived(const IPC::Message& msg) {
+bool GpuVideoDecoderHost::OnMessageReceived(const IPC::Message& msg) {
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(GpuVideoDecoderHost, msg)
IPC_MESSAGE_HANDLER(GpuVideoDecoderHostMsg_CreateVideoDecoderDone,
OnCreateVideoDecoderDone)
@@ -54,8 +55,10 @@ void GpuVideoDecoderHost::OnMessageReceived(const IPC::Message& msg) {
OnAllocateVideoFrames)
IPC_MESSAGE_HANDLER(GpuVideoDecoderHostMsg_ReleaseAllVideoFrames,
OnReleaseAllVideoFrames)
- IPC_MESSAGE_UNHANDLED_ERROR()
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
+ DCHECK(handled);
+ return handled;
}
void GpuVideoDecoderHost::Initialize(
diff --git a/chrome/renderer/gpu_video_decoder_host.h b/chrome/renderer/gpu_video_decoder_host.h
index c32a9f0..a7a3a71 100644
--- a/chrome/renderer/gpu_video_decoder_host.h
+++ b/chrome/renderer/gpu_video_decoder_host.h
@@ -50,7 +50,7 @@ class GpuVideoDecoderHost : public media::VideoDecodeEngine,
// IPC::Channel::Listener.
virtual void OnChannelConnected(int32 peer_pid) {}
virtual void OnChannelError();
- virtual void OnMessageReceived(const IPC::Message& message);
+ virtual bool OnMessageReceived(const IPC::Message& message);
// media::VideoDecodeEngine implementation.
virtual void Initialize(MessageLoop* message_loop,
diff --git a/chrome/renderer/indexed_db_dispatcher.h b/chrome/renderer/indexed_db_dispatcher.h
index 1210551..8012015 100644
--- a/chrome/renderer/indexed_db_dispatcher.h
+++ b/chrome/renderer/indexed_db_dispatcher.h
@@ -8,7 +8,7 @@
#include "base/id_map.h"
#include "base/nullable_string16.h"
-#include "ipc/ipc_message.h"
+#include "ipc/ipc_channel.h"
#include "third_party/WebKit/WebKit/chromium/public/WebExceptionCode.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBCallbacks.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabase.h"
@@ -24,13 +24,12 @@ class WebIDBTransaction;
}
// Handle the indexed db related communication for this entire renderer.
-class IndexedDBDispatcher {
+class IndexedDBDispatcher : public IPC::Channel::Listener {
public:
IndexedDBDispatcher();
~IndexedDBDispatcher();
- // Called to possibly handle the incoming IPC message. Returns true if
- // handled.
+ // IPC::Channel::Listener implementation.
bool OnMessageReceived(const IPC::Message& msg);
void RequestIDBFactoryOpen(
diff --git a/chrome/renderer/mock_render_thread.cc b/chrome/renderer/mock_render_thread.cc
index c188f34..1d98d6e 100644
--- a/chrome/renderer/mock_render_thread.cc
+++ b/chrome/renderer/mock_render_thread.cc
@@ -81,7 +81,7 @@ void MockRenderThread::SendCloseMessage() {
widget_->OnMessageReceived(msg);
}
-void MockRenderThread::OnMessageReceived(const IPC::Message& msg) {
+bool MockRenderThread::OnMessageReceived(const IPC::Message& msg) {
// Save the message in the sink.
sink_.OnMessageReceived(msg);
@@ -116,6 +116,7 @@ void MockRenderThread::OnMessageReceived(const IPC::Message& msg) {
#endif
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP_EX()
+ return handled;
}
// The Widget expects to be returned valid route_id.
diff --git a/chrome/renderer/mock_render_thread.h b/chrome/renderer/mock_render_thread.h
index a1b58a5..2a6dc60 100644
--- a/chrome/renderer/mock_render_thread.h
+++ b/chrome/renderer/mock_render_thread.h
@@ -82,7 +82,7 @@ class MockRenderThread : public RenderThreadBase {
private:
// This function operates as a regular IPC listener.
- void OnMessageReceived(const IPC::Message& msg);
+ bool OnMessageReceived(const IPC::Message& msg);
// The Widget expects to be returned valid route_id.
void OnMsgCreateWidget(int opener_id,
diff --git a/chrome/renderer/notification_provider.h b/chrome/renderer/notification_provider.h
index ccd6cf3..1ba84b2 100644
--- a/chrome/renderer/notification_provider.h
+++ b/chrome/renderer/notification_provider.h
@@ -18,7 +18,8 @@ class WebNotificationPermissionCallback;
// NotificationProvider class is owned by the RenderView. Only
// to be used on the UI thread.
-class NotificationProvider : public WebKit::WebNotificationPresenter {
+class NotificationProvider : public WebKit::WebNotificationPresenter,
+ public IPC::Channel::Listener {
public:
explicit NotificationProvider(RenderView* view);
virtual ~NotificationProvider();
@@ -32,7 +33,7 @@ class NotificationProvider : public WebKit::WebNotificationPresenter {
virtual void requestPermission(const WebKit::WebSecurityOrigin& origin,
WebKit::WebNotificationPermissionCallback* callback);
- // IPC message handler called from RenderView.
+ // IPC::Channel::Listener implementation.
bool OnMessageReceived(const IPC::Message& message);
// Called when the RenderView navigates.
diff --git a/chrome/renderer/plugin_channel_host.cc b/chrome/renderer/plugin_channel_host.cc
index b6a93c0..34d1461 100644
--- a/chrome/renderer/plugin_channel_host.cc
+++ b/chrome/renderer/plugin_channel_host.cc
@@ -114,12 +114,15 @@ void PluginChannelHost::RemoveRoute(int route_id) {
PluginChannelBase::RemoveRoute(route_id);
}
-void PluginChannelHost::OnControlMessageReceived(const IPC::Message& message) {
+bool PluginChannelHost::OnControlMessageReceived(const IPC::Message& message) {
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(PluginChannelHost, message)
IPC_MESSAGE_HANDLER(PluginHostMsg_SetException, OnSetException)
IPC_MESSAGE_HANDLER(PluginHostMsg_PluginShuttingDown, OnPluginShuttingDown)
- IPC_MESSAGE_UNHANDLED_ERROR()
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
+ DCHECK(handled);
+ return handled;
}
void PluginChannelHost::OnSetException(const std::string& message) {
diff --git a/chrome/renderer/plugin_channel_host.h b/chrome/renderer/plugin_channel_host.h
index 241833f..5f6d556 100644
--- a/chrome/renderer/plugin_channel_host.h
+++ b/chrome/renderer/plugin_channel_host.h
@@ -48,7 +48,7 @@ class PluginChannelHost : public PluginChannelBase {
static PluginChannelBase* ClassFactory() { return new PluginChannelHost(); }
- virtual void OnControlMessageReceived(const IPC::Message& message);
+ virtual bool OnControlMessageReceived(const IPC::Message& message);
void OnSetException(const std::string& message);
void OnPluginShuttingDown(const IPC::Message& message);
diff --git a/chrome/renderer/render_thread.cc b/chrome/renderer/render_thread.cc
index 5fc265e..f1f1008 100644
--- a/chrome/renderer/render_thread.cc
+++ b/chrome/renderer/render_thread.cc
@@ -593,13 +593,14 @@ void RenderThread::OnDOMStorageEvent(
params.storage_type == DOM_STORAGE_LOCAL);
}
-void RenderThread::OnControlMessageReceived(const IPC::Message& msg) {
+bool RenderThread::OnControlMessageReceived(const IPC::Message& msg) {
// Some messages are handled by delegates.
if (appcache_dispatcher_->OnMessageReceived(msg))
- return;
+ return true;
if (indexed_db_dispatcher_->OnMessageReceived(msg))
- return;
+ return true;
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(RenderThread, msg)
IPC_MESSAGE_HANDLER(ViewMsg_VisitedLink_NewTable, OnUpdateVisitedLinks)
IPC_MESSAGE_HANDLER(ViewMsg_VisitedLink_Add, OnAddVisitedLinks)
@@ -660,7 +661,9 @@ void RenderThread::OnControlMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(ViewMsg_SetPhishingModel, OnSetPhishingModel)
IPC_MESSAGE_HANDLER(ViewMsg_SpeechInput_SetFeatureEnabled,
OnSetSpeechInputEnabled)
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
+ return handled;
}
void RenderThread::OnSetSpeechInputEnabled(bool enabled) {
diff --git a/chrome/renderer/render_thread.h b/chrome/renderer/render_thread.h
index 6946a47..6817cfb 100644
--- a/chrome/renderer/render_thread.h
+++ b/chrome/renderer/render_thread.h
@@ -254,7 +254,7 @@ class RenderThread : public RenderThreadBase,
int extension_group);
private:
- virtual void OnControlMessageReceived(const IPC::Message& msg);
+ virtual bool OnControlMessageReceived(const IPC::Message& msg);
void Init();
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 7a84c11..1a9aef5 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -944,31 +944,32 @@ void RenderView::Init(gfx::NativeViewId parent_hwnd,
render_thread_->AddFilter(audio_message_filter_);
}
-void RenderView::OnMessageReceived(const IPC::Message& message) {
+bool RenderView::OnMessageReceived(const IPC::Message& message) {
WebFrame* main_frame = webview() ? webview()->mainFrame() : NULL;
if (main_frame)
child_process_logging::SetActiveURL(main_frame->url());
// If this is developer tools renderer intercept tools messages first.
if (devtools_client_.get() && devtools_client_->OnMessageReceived(message))
- return;
+ return true;
if (devtools_agent_.get() && devtools_agent_->OnMessageReceived(message))
- return;
+ return true;
if (notification_provider_->OnMessageReceived(message))
- return;
+ return true;
if (geolocation_dispatcher_.get() &&
geolocation_dispatcher_->OnMessageReceived(message)) {
- return;
+ return true;
}
if (speech_input_dispatcher_.get() &&
speech_input_dispatcher_->OnMessageReceived(message)) {
- return;
+ return true;
}
if (device_orientation_dispatcher_.get() &&
device_orientation_dispatcher_->OnMessageReceived(message)) {
- return;
+ return true;
}
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(RenderView, message)
IPC_MESSAGE_HANDLER(ViewMsg_CaptureThumbnail, OnCaptureThumbnail)
IPC_MESSAGE_HANDLER(ViewMsg_CaptureSnapshot, OnCaptureSnapshot)
@@ -1102,8 +1103,9 @@ void RenderView::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ViewMsg_PrintPreview, OnPrintPreview)
// Have the super handle all other messages.
- IPC_MESSAGE_UNHANDLED(RenderWidget::OnMessageReceived(message))
+ IPC_MESSAGE_UNHANDLED(handled = RenderWidget::OnMessageReceived(message))
IPC_END_MESSAGE_MAP()
+ return handled;
}
void RenderView::OnCaptureThumbnail() {
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 1f97fa6..862ed6c 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -388,7 +388,7 @@ class RenderView : public RenderWidget,
// IPC::Channel::Listener implementation -------------------------------------
- virtual void OnMessageReceived(const IPC::Message& msg);
+ virtual bool OnMessageReceived(const IPC::Message& msg);
// WebKit::WebWidgetClient implementation ------------------------------------
diff --git a/chrome/renderer/render_widget.cc b/chrome/renderer/render_widget.cc
index 9cf323c..2f14576 100644
--- a/chrome/renderer/render_widget.cc
+++ b/chrome/renderer/render_widget.cc
@@ -153,25 +153,29 @@ void RenderWidget::CompleteInit(gfx::NativeViewId parent_hwnd) {
Send(new ViewHostMsg_RenderViewReady(routing_id_));
}
-IPC_DEFINE_MESSAGE_MAP(RenderWidget)
- IPC_MESSAGE_HANDLER(ViewMsg_Close, OnClose)
- IPC_MESSAGE_HANDLER(ViewMsg_CreatingNew_ACK, OnCreatingNewAck)
- IPC_MESSAGE_HANDLER(ViewMsg_Resize, OnResize)
- IPC_MESSAGE_HANDLER(ViewMsg_WasHidden, OnWasHidden)
- IPC_MESSAGE_HANDLER(ViewMsg_WasRestored, OnWasRestored)
- IPC_MESSAGE_HANDLER(ViewMsg_UpdateRect_ACK, OnUpdateRectAck)
- IPC_MESSAGE_HANDLER(ViewMsg_HandleInputEvent, OnHandleInputEvent)
- IPC_MESSAGE_HANDLER(ViewMsg_MouseCaptureLost, OnMouseCaptureLost)
- IPC_MESSAGE_HANDLER(ViewMsg_SetFocus, OnSetFocus)
- IPC_MESSAGE_HANDLER(ViewMsg_SetInputMethodActive, OnSetInputMethodActive)
- IPC_MESSAGE_HANDLER(ViewMsg_ImeSetComposition, OnImeSetComposition)
- IPC_MESSAGE_HANDLER(ViewMsg_ImeConfirmComposition, OnImeConfirmComposition)
- IPC_MESSAGE_HANDLER(ViewMsg_PaintAtSize, OnMsgPaintAtSize)
- IPC_MESSAGE_HANDLER(ViewMsg_Repaint, OnMsgRepaint)
- IPC_MESSAGE_HANDLER(ViewMsg_SetTextDirection, OnSetTextDirection)
- IPC_MESSAGE_HANDLER(ViewMsg_Move_ACK, OnRequestMoveAck)
- IPC_MESSAGE_UNHANDLED_ERROR()
-IPC_END_MESSAGE_MAP()
+bool RenderWidget::OnMessageReceived(const IPC::Message& message) {
+ bool handled = true;
+ IPC_BEGIN_MESSAGE_MAP(RenderWidget, message)
+ IPC_MESSAGE_HANDLER(ViewMsg_Close, OnClose)
+ IPC_MESSAGE_HANDLER(ViewMsg_CreatingNew_ACK, OnCreatingNewAck)
+ IPC_MESSAGE_HANDLER(ViewMsg_Resize, OnResize)
+ IPC_MESSAGE_HANDLER(ViewMsg_WasHidden, OnWasHidden)
+ IPC_MESSAGE_HANDLER(ViewMsg_WasRestored, OnWasRestored)
+ IPC_MESSAGE_HANDLER(ViewMsg_UpdateRect_ACK, OnUpdateRectAck)
+ IPC_MESSAGE_HANDLER(ViewMsg_HandleInputEvent, OnHandleInputEvent)
+ IPC_MESSAGE_HANDLER(ViewMsg_MouseCaptureLost, OnMouseCaptureLost)
+ IPC_MESSAGE_HANDLER(ViewMsg_SetFocus, OnSetFocus)
+ IPC_MESSAGE_HANDLER(ViewMsg_SetInputMethodActive, OnSetInputMethodActive)
+ IPC_MESSAGE_HANDLER(ViewMsg_ImeSetComposition, OnImeSetComposition)
+ IPC_MESSAGE_HANDLER(ViewMsg_ImeConfirmComposition, OnImeConfirmComposition)
+ IPC_MESSAGE_HANDLER(ViewMsg_PaintAtSize, OnMsgPaintAtSize)
+ IPC_MESSAGE_HANDLER(ViewMsg_Repaint, OnMsgRepaint)
+ IPC_MESSAGE_HANDLER(ViewMsg_SetTextDirection, OnSetTextDirection)
+ IPC_MESSAGE_HANDLER(ViewMsg_Move_ACK, OnRequestMoveAck)
+ IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_END_MESSAGE_MAP()
+ return handled;
+}
bool RenderWidget::Send(IPC::Message* message) {
// Don't send any messages after the browser has told us to close.
diff --git a/chrome/renderer/render_widget.h b/chrome/renderer/render_widget.h
index bf542bf..f847ce2 100644
--- a/chrome/renderer/render_widget.h
+++ b/chrome/renderer/render_widget.h
@@ -92,7 +92,7 @@ class RenderWidget : public IPC::Channel::Listener,
bool has_focus() const { return has_focus_; }
// IPC::Channel::Listener
- virtual void OnMessageReceived(const IPC::Message& msg);
+ virtual bool OnMessageReceived(const IPC::Message& msg);
// IPC::Message::Sender
virtual bool Send(IPC::Message* msg);
diff --git a/chrome/renderer/renderer_main_unittest.cc b/chrome/renderer/renderer_main_unittest.cc
index 464419b..653e02f 100644
--- a/chrome/renderer/renderer_main_unittest.cc
+++ b/chrome/renderer/renderer_main_unittest.cc
@@ -89,9 +89,10 @@ class SuicidalListener : public IPC::Channel::Listener {
MessageLoop::current()->Quit();
}
- void OnMessageReceived(const IPC::Message& message) {
+ bool OnMessageReceived(const IPC::Message& message) {
// We shouldn't receive any messages
- ASSERT_TRUE(false);
+ NOTREACHED();
+ return false;
}
};
diff --git a/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc b/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc
index f84b0bd..edb5394 100644
--- a/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc
+++ b/chrome/renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc
@@ -59,13 +59,15 @@ class MockScorer : public Scorer {
class PhishingClassifierDelegateTest : public RenderViewFakeResourcesTest {
protected:
- void OnMessageReceived(const IPC::Message& message) {
+ bool OnMessageReceived(const IPC::Message& message) {
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(PhishingClassifierDelegateTest, message)
IPC_MESSAGE_HANDLER(ViewHostMsg_DetectedPhishingSite,
OnDetectedPhishingSite)
IPC_MESSAGE_UNHANDLED(
- RenderViewFakeResourcesTest::OnMessageReceived(message))
+ handled = RenderViewFakeResourcesTest::OnMessageReceived(message))
IPC_END_MESSAGE_MAP()
+ return handled;
}
void OnDetectedPhishingSite(GURL phishing_url,
diff --git a/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc b/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc
index e745373..bc52ef2 100644
--- a/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc
+++ b/chrome/renderer/safe_browsing/render_view_fake_resources_test.cc
@@ -36,13 +36,14 @@ const int32 RenderViewFakeResourcesTest::kViewId = 5;
RenderViewFakeResourcesTest::RenderViewFakeResourcesTest() {}
RenderViewFakeResourcesTest::~RenderViewFakeResourcesTest() {}
-void RenderViewFakeResourcesTest::OnMessageReceived(
+bool RenderViewFakeResourcesTest::OnMessageReceived(
const IPC::Message& message) {
IPC_BEGIN_MESSAGE_MAP(RenderViewFakeResourcesTest, message)
IPC_MESSAGE_HANDLER(ViewHostMsg_RenderViewReady, OnRenderViewReady)
IPC_MESSAGE_HANDLER(ViewHostMsg_DidStopLoading, OnDidStopLoading)
IPC_MESSAGE_HANDLER(ViewHostMsg_RequestResource, OnRequestResource)
IPC_END_MESSAGE_MAP()
+ return true;
}
bool RenderViewFakeResourcesTest::Visit(RenderView* render_view) {
diff --git a/chrome/renderer/safe_browsing/render_view_fake_resources_test.h b/chrome/renderer/safe_browsing/render_view_fake_resources_test.h
index 953b0cb..a92fb28 100644
--- a/chrome/renderer/safe_browsing/render_view_fake_resources_test.h
+++ b/chrome/renderer/safe_browsing/render_view_fake_resources_test.h
@@ -71,7 +71,7 @@ class RenderViewFakeResourcesTest : public ::testing::Test,
public RenderViewVisitor {
public:
// IPC::Channel::Listener implementation.
- virtual void OnMessageReceived(const IPC::Message& message);
+ virtual bool OnMessageReceived(const IPC::Message& message);
// RenderViewVisitor implementation.
virtual bool Visit(RenderView* render_view);
diff --git a/chrome/renderer/speech_input_dispatcher.h b/chrome/renderer/speech_input_dispatcher.h
index 09133d2..e993226 100644
--- a/chrome/renderer/speech_input_dispatcher.h
+++ b/chrome/renderer/speech_input_dispatcher.h
@@ -7,7 +7,7 @@
#include "base/basictypes.h"
#include "chrome/common/speech_input_result.h"
-#include "ipc/ipc_message.h"
+#include "ipc/ipc_channel.h"
#include "third_party/WebKit/WebKit/chromium/public/WebSpeechInputController.h"
class GURL;
@@ -21,13 +21,13 @@ struct WebRect;
// SpeechInputDispatcher is a delegate for speech input messages used by WebKit.
// It's the complement of SpeechInputDispatcherHost (owned by RenderViewHost).
-class SpeechInputDispatcher : public WebKit::WebSpeechInputController {
+class SpeechInputDispatcher : public WebKit::WebSpeechInputController,
+ public IPC::Channel::Listener {
public:
SpeechInputDispatcher(RenderView* render_view,
WebKit::WebSpeechInputListener* listener);
- // Called to possibly handle the incoming IPC message. Returns true if
- // handled. Called in render thread.
+ // IPC::Channel::Listener implementation.
bool OnMessageReceived(const IPC::Message& msg);
// WebKit::WebSpeechInputController.
diff --git a/chrome/renderer/webplugin_delegate_proxy.cc b/chrome/renderer/webplugin_delegate_proxy.cc
index 1b2e7d7..e76977f 100644
--- a/chrome/renderer/webplugin_delegate_proxy.cc
+++ b/chrome/renderer/webplugin_delegate_proxy.cc
@@ -424,9 +424,10 @@ void WebPluginDelegateProxy::InstallMissingPlugin() {
Send(new PluginMsg_InstallMissingPlugin(instance_id_));
}
-void WebPluginDelegateProxy::OnMessageReceived(const IPC::Message& msg) {
+bool WebPluginDelegateProxy::OnMessageReceived(const IPC::Message& msg) {
child_process_logging::SetActiveURL(page_url_);
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(WebPluginDelegateProxy, msg)
IPC_MESSAGE_HANDLER(PluginHostMsg_SetWindow, OnSetWindow)
#if defined(OS_WIN)
@@ -478,9 +479,10 @@ void WebPluginDelegateProxy::OnMessageReceived(const IPC::Message& msg) {
#endif
IPC_MESSAGE_HANDLER(PluginHostMsg_URLRedirectResponse,
OnURLRedirectResponse)
-
- IPC_MESSAGE_UNHANDLED_ERROR()
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
+ DCHECK(handled);
+ return handled;
}
void WebPluginDelegateProxy::OnChannelError() {
diff --git a/chrome/renderer/webplugin_delegate_proxy.h b/chrome/renderer/webplugin_delegate_proxy.h
index 30e212e..49bcc70 100644
--- a/chrome/renderer/webplugin_delegate_proxy.h
+++ b/chrome/renderer/webplugin_delegate_proxy.h
@@ -95,7 +95,7 @@ class WebPluginDelegateProxy
#endif
// IPC::Channel::Listener implementation:
- virtual void OnMessageReceived(const IPC::Message& msg);
+ virtual bool OnMessageReceived(const IPC::Message& msg);
virtual void OnChannelError();
// IPC::Message::Sender implementation:
diff --git a/chrome/renderer/websharedworker_proxy.cc b/chrome/renderer/websharedworker_proxy.cc
index 8c79cb8..84043d8 100644
--- a/chrome/renderer/websharedworker_proxy.cc
+++ b/chrome/renderer/websharedworker_proxy.cc
@@ -67,10 +67,13 @@ void WebSharedWorkerProxy::connect(WebKit::WebMessagePortChannel* channel,
}
}
-void WebSharedWorkerProxy::OnMessageReceived(const IPC::Message& message) {
+bool WebSharedWorkerProxy::OnMessageReceived(const IPC::Message& message) {
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(WebSharedWorkerProxy, message)
IPC_MESSAGE_HANDLER(ViewMsg_WorkerCreated, OnWorkerCreated)
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
+ return handled;
}
void WebSharedWorkerProxy::OnWorkerCreated() {
diff --git a/chrome/renderer/websharedworker_proxy.h b/chrome/renderer/websharedworker_proxy.h
index 78b1167..d818264 100644
--- a/chrome/renderer/websharedworker_proxy.h
+++ b/chrome/renderer/websharedworker_proxy.h
@@ -41,7 +41,7 @@ class WebSharedWorkerProxy : public WebKit::WebSharedWorker,
virtual void clientDestroyed();
// IPC::Channel::Listener implementation.
- virtual void OnMessageReceived(const IPC::Message& message);
+ virtual bool OnMessageReceived(const IPC::Message& message);
private:
void OnWorkerCreated();
diff --git a/chrome/renderer/webworker_proxy.cc b/chrome/renderer/webworker_proxy.cc
index abbb51f..3ae1749 100644
--- a/chrome/renderer/webworker_proxy.cc
+++ b/chrome/renderer/webworker_proxy.cc
@@ -84,10 +84,11 @@ void WebWorkerProxy::workerObjectDestroyed() {
void WebWorkerProxy::clientDestroyed() {
}
-void WebWorkerProxy::OnMessageReceived(const IPC::Message& message) {
+bool WebWorkerProxy::OnMessageReceived(const IPC::Message& message) {
if (!client_)
- return;
+ return false;
+ bool handled = true;
IPC_BEGIN_MESSAGE_MAP(WebWorkerProxy, message)
IPC_MESSAGE_HANDLER(ViewMsg_WorkerCreated, OnWorkerCreated)
IPC_MESSAGE_HANDLER(WorkerMsg_PostMessage, OnPostMessage)
@@ -105,7 +106,9 @@ void WebWorkerProxy::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_FORWARD(WorkerHostMsg_WorkerContextDestroyed,
static_cast<WebCommonWorkerClient*>(client_),
WebCommonWorkerClient::workerContextDestroyed)
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
+ return handled;
}
void WebWorkerProxy::OnWorkerCreated() {
diff --git a/chrome/renderer/webworker_proxy.h b/chrome/renderer/webworker_proxy.h
index 556f3dc..4b51b4f 100644
--- a/chrome/renderer/webworker_proxy.h
+++ b/chrome/renderer/webworker_proxy.h
@@ -43,7 +43,7 @@ class WebWorkerProxy : public WebKit::WebWorker, private WebWorkerBase {
virtual void clientDestroyed();
// IPC::Channel::Listener implementation.
- virtual void OnMessageReceived(const IPC::Message& message);
+ virtual bool OnMessageReceived(const IPC::Message& message);
private:
void CancelCreation();