Index: content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
diff --git a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
index 97e31738f00709cbbc20012fbec6064162dafd96..6c448410c5cdb1c1cae0e4a2921f22d82f4b625c 100644 |
--- a/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
+++ b/content/browser/renderer_host/pepper/content_browser_pepper_host_factory.cc |
@@ -18,7 +18,7 @@ |
#include "content/browser/renderer_host/pepper/pepper_tcp_socket_message_filter.h" |
#include "content/browser/renderer_host/pepper/pepper_truetype_font_list_host.h" |
#include "content/browser/renderer_host/pepper/pepper_udp_socket_message_filter.h" |
-#include "net/socket/stream_socket.h" |
+#include "ppapi/c/ppb_net_address.h" |
#include "ppapi/host/message_filter_host.h" |
#include "ppapi/host/ppapi_host.h" |
#include "ppapi/host/resource_host.h" |
@@ -104,16 +104,22 @@ scoped_ptr<ResourceHost> ContentBrowserPepperHostFactory::CreateResourceHost( |
host_, instance, params.pp_resource(), file_system, internal_path)); |
} |
case PpapiHostMsg_TCPSocket_Create::ID: { |
- if (CanCreateSocket()) { |
- scoped_refptr<ResourceMessageFilter> tcp_socket( |
- new PepperTCPSocketMessageFilter(host_, |
- instance, |
- false)); |
- return scoped_ptr<ResourceHost>(new MessageFilterHost( |
- host_->GetPpapiHost(), instance, params.pp_resource(), tcp_socket)); |
- } else { |
+ ppapi::TCPSocketVersion version; |
+ PP_NetAddress_Family family; |
+ if (!CanCreateSocket() || |
+ !UnpackMessage<PpapiHostMsg_TCPSocket_Create>( |
+ message, &version, &family)) { |
return scoped_ptr<ResourceHost>(); |
} |
+ |
+ scoped_refptr<ResourceMessageFilter> tcp_socket( |
+ PepperTCPSocketMessageFilter::Create(this, host_, instance, version, |
+ family)); |
+ if (!tcp_socket) |
+ return scoped_ptr<ResourceHost>(); |
+ |
+ return scoped_ptr<ResourceHost>(new MessageFilterHost( |
+ host_->GetPpapiHost(), instance, params.pp_resource(), tcp_socket)); |
} |
case PpapiHostMsg_UDPSocket_Create::ID: { |
if (CanCreateSocket()) { |
@@ -177,16 +183,18 @@ scoped_ptr<ResourceHost> ContentBrowserPepperHostFactory::CreateResourceHost( |
} |
} |
if (message.type() == PpapiHostMsg_TCPSocket_CreatePrivate::ID) { |
- if (CanCreateSocket()) { |
- scoped_refptr<ResourceMessageFilter> tcp_socket( |
- new PepperTCPSocketMessageFilter(host_, |
- instance, |
- true)); |
- return scoped_ptr<ResourceHost>(new MessageFilterHost( |
- host_->GetPpapiHost(), instance, params.pp_resource(), tcp_socket)); |
- } else { |
+ if (!CanCreateSocket()) |
return scoped_ptr<ResourceHost>(); |
- } |
+ |
+ scoped_refptr<ResourceMessageFilter> tcp_socket( |
+ PepperTCPSocketMessageFilter::Create( |
+ this, host_, instance, ppapi::TCP_SOCKET_VERSION_PRIVATE, |
+ PP_NETADDRESS_FAMILY_UNSPECIFIED)); |
+ if (!tcp_socket) |
+ return scoped_ptr<ResourceHost>(); |
+ |
+ return scoped_ptr<ResourceHost>(new MessageFilterHost( |
+ host_->GetPpapiHost(), instance, params.pp_resource(), tcp_socket)); |
bbudge
2013/09/17 19:42:18
There's a lot of code in common here and above. Co
yzshen1
2013/09/18 16:56:26
Done.
|
} |
if (message.type() == PpapiHostMsg_UDPSocket_CreatePrivate::ID) { |
if (CanCreateSocket()) { |
@@ -218,17 +226,13 @@ scoped_ptr<ResourceHost> ContentBrowserPepperHostFactory::CreateResourceHost( |
scoped_ptr<ppapi::host::ResourceHost> |
ContentBrowserPepperHostFactory::CreateAcceptedTCPSocket( |
PP_Instance instance, |
- bool private_api, |
- net::StreamSocket* socket) { |
- scoped_ptr<net::StreamSocket> s(socket); |
- |
+ ppapi::TCPSocketVersion version, |
+ scoped_ptr<net::TCPSocket> socket) { |
if (!CanCreateSocket()) |
return scoped_ptr<ResourceHost>(); |
scoped_refptr<ResourceMessageFilter> tcp_socket( |
- new PepperTCPSocketMessageFilter(host_, |
- instance, |
- private_api, |
- s.release())); |
+ new PepperTCPSocketMessageFilter(host_, instance, version, |
bbudge
2013/09/17 19:42:18
Why don't you call PepperTCPSocketMessageFilter::C
yzshen1
2013/09/18 16:56:26
Because this class has a static Create() method fo
|
+ socket.Pass())); |
return scoped_ptr<ResourceHost>(new MessageFilterHost( |
host_->GetPpapiHost(), instance, 0, tcp_socket)); |
} |