diff options
author | ukai@chromium.org <ukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-07 05:55:19 +0000 |
---|---|---|
committer | ukai@chromium.org <ukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-07 05:55:19 +0000 |
commit | 703e4d66f618720ca07ce00ff3fbe68810a661c3 (patch) | |
tree | ec9a4b906431d4e2f4ab46c6e8a3d87daa77a925 /chrome/browser/renderer_host/resource_dispatcher_host.cc | |
parent | b281ab6e72be9b1df735395da6979c21712a8e5d (diff) | |
download | chromium_src-703e4d66f618720ca07ce00ff3fbe68810a661c3.zip chromium_src-703e4d66f618720ca07ce00ff3fbe68810a661c3.tar.gz chromium_src-703e4d66f618720ca07ce00ff3fbe68810a661c3.tar.bz2 |
WebSocket in Worker: renderer_host change
To support WebSocket in Worker, SocketStreamDispatcherHost should be part of ResourceDispatcherHost instead of ResourceMessageFilter.
ResourceMessageFilter is used only for renderer process, so it would not handle IPC message from worker process.
SocketStreamHost changed to have ResourceDispatcherHost::Receiver, which is a peer of child process, and indexed by receiver id and socket_id.
BUG=27618
TEST=none
Review URL: http://codereview.chromium.org/437084
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33953 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/renderer_host/resource_dispatcher_host.cc')
-rw-r--r-- | chrome/browser/renderer_host/resource_dispatcher_host.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/chrome/browser/renderer_host/resource_dispatcher_host.cc b/chrome/browser/renderer_host/resource_dispatcher_host.cc index a4bd156..4bce18a 100644 --- a/chrome/browser/renderer_host/resource_dispatcher_host.cc +++ b/chrome/browser/renderer_host/resource_dispatcher_host.cc @@ -40,6 +40,7 @@ #include "chrome/browser/renderer_host/resource_request_details.h" #include "chrome/browser/renderer_host/safe_browsing_resource_handler.h" #include "chrome/browser/renderer_host/save_file_resource_handler.h" +#include "chrome/browser/renderer_host/socket_stream_dispatcher_host.h" #include "chrome/browser/renderer_host/sync_resource_handler.h" #include "chrome/browser/safe_browsing/safe_browsing_service.h" #include "chrome/browser/ssl/ssl_client_auth_handler.h" @@ -249,6 +250,7 @@ ResourceDispatcherHost::ResourceDispatcherHost() ALLOW_THIS_IN_INITIALIZER_LIST(user_script_listener_( new UserScriptListener(this))), safe_browsing_(new SafeBrowsingService), + socket_stream_dispatcher_host_(new SocketStreamDispatcherHost), webkit_thread_(new WebKitThread), request_id_(-1), ALLOW_THIS_IN_INITIALIZER_LIST(method_runner_(this)), @@ -336,8 +338,10 @@ bool ResourceDispatcherHost::HandleExternalProtocol(int request_id, bool ResourceDispatcherHost::OnMessageReceived(const IPC::Message& message, Receiver* receiver, bool* message_was_ok) { - if (!IsResourceDispatcherHostMessage(message)) - return false; + if (!IsResourceDispatcherHostMessage(message)) { + return socket_stream_dispatcher_host_->OnMessageReceived( + message, receiver, message_was_ok); + } *message_was_ok = true; receiver_ = receiver; |