Chromium Code Reviews| Index: content/renderer/render_view.cc |
| diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc |
| index 91d9c2d1b830ccf86ef71d2eb6598593e6043699..49e96026a13c191478273455fc9bc1e5f27cb676 100644 |
| --- a/content/renderer/render_view.cc |
| +++ b/content/renderer/render_view.cc |
| @@ -581,7 +581,8 @@ bool RenderView::OnMessageReceived(const IPC::Message& message) { |
| return true; |
| bool handled = true; |
| - IPC_BEGIN_MESSAGE_MAP(RenderView, message) |
| + bool msg_is_ok = true; |
| + IPC_BEGIN_MESSAGE_MAP_EX(RenderView, message, msg_is_ok) |
| IPC_MESSAGE_HANDLER(ViewMsg_Navigate, OnNavigate) |
| IPC_MESSAGE_HANDLER(ViewMsg_Stop, OnStop) |
| IPC_MESSAGE_HANDLER(ViewMsg_ReloadFrame, OnReloadFrame) |
| @@ -688,6 +689,13 @@ bool RenderView::OnMessageReceived(const IPC::Message& message) { |
| // Have the super handle all other messages. |
| IPC_MESSAGE_UNHANDLED(handled = RenderWidget::OnMessageReceived(message)) |
| IPC_END_MESSAGE_MAP() |
| + |
| + if (!msg_is_ok) { |
| + // The message had a handler, but its deserialization failed. |
| + // Kill the renderer. |
|
jschuh
2011/10/04 21:08:10
Nit: "Kill the renderer" seems too terse. I worry
Charlie Reis
2011/10/04 21:58:38
Done.
|
| + CHECK(false) << "Unable to deserialize message in RenderView."; |
| + } |
| + |
| return handled; |
| } |