| Index: content/child/websocket_dispatcher.cc
|
| diff --git a/content/child/websocket_dispatcher.cc b/content/child/websocket_dispatcher.cc
|
| index 9fc3370bb65d8bcc1b380761dba11efcf43103f9..50889e45b3dda4df77d07cf378afa5c9ad51cb71 100644
|
| --- a/content/child/websocket_dispatcher.cc
|
| +++ b/content/child/websocket_dispatcher.cc
|
| @@ -35,6 +35,15 @@ void WebSocketDispatcher::RemoveBridge(int channel_id) {
|
| }
|
|
|
| bool WebSocketDispatcher::OnMessageReceived(const IPC::Message& msg) {
|
| + if (!CanHandleMessage(msg))
|
| + return false;
|
| + WebSocketBridge* bridge = GetBridge(msg.routing_id(), msg.type());
|
| + if (!bridge)
|
| + return true;
|
| + return bridge->OnMessageReceived(msg);
|
| +}
|
| +
|
| +bool WebSocketDispatcher::CanHandleMessage(const IPC::Message& msg) const {
|
| switch (msg.type()) {
|
| case WebSocketMsg_AddChannelResponse::ID:
|
| case WebSocketMsg_NotifyStartOpeningHandshake::ID:
|
| @@ -44,15 +53,10 @@ bool WebSocketDispatcher::OnMessageReceived(const IPC::Message& msg) {
|
| case WebSocketMsg_FlowControl::ID:
|
| case WebSocketMsg_DropChannel::ID:
|
| case WebSocketMsg_NotifyClosing::ID:
|
| - break;
|
| + return true;
|
| default:
|
| return false;
|
| }
|
| -
|
| - WebSocketBridge* bridge = GetBridge(msg.routing_id(), msg.type());
|
| - if (!bridge)
|
| - return true;
|
| - return bridge->OnMessageReceived(msg);
|
| }
|
|
|
| WebSocketBridge* WebSocketDispatcher::GetBridge(int channel_id, uint32_t type) {
|
|
|