summaryrefslogtreecommitdiffstats
path: root/chrome/browser/renderer_host/resource_dispatcher_host.cc
diff options
context:
space:
mode:
authorukai@chromium.org <ukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-07 05:55:19 +0000
committerukai@chromium.org <ukai@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-07 05:55:19 +0000
commit703e4d66f618720ca07ce00ff3fbe68810a661c3 (patch)
treeec9a4b906431d4e2f4ab46c6e8a3d87daa77a925 /chrome/browser/renderer_host/resource_dispatcher_host.cc
parentb281ab6e72be9b1df735395da6979c21712a8e5d (diff)
downloadchromium_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.cc8
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;