Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(175)

Side by Side Diff: content/renderer/pepper/pepper_plugin_delegate_impl.cc

Issue 19005006: Switched proxy for TCPServerSocketPrivate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" 5 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <cstddef> 8 #include <cstddef>
9 #include <map> 9 #include <map>
10 #include <queue> 10 #include <queue>
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 #include "content/renderer/pepper/pepper_file_system_host.h" 45 #include "content/renderer/pepper/pepper_file_system_host.h"
46 #include "content/renderer/pepper/pepper_graphics_2d_host.h" 46 #include "content/renderer/pepper/pepper_graphics_2d_host.h"
47 #include "content/renderer/pepper/pepper_hung_plugin_filter.h" 47 #include "content/renderer/pepper/pepper_hung_plugin_filter.h"
48 #include "content/renderer/pepper/pepper_in_process_resource_creation.h" 48 #include "content/renderer/pepper/pepper_in_process_resource_creation.h"
49 #include "content/renderer/pepper/pepper_in_process_router.h" 49 #include "content/renderer/pepper/pepper_in_process_router.h"
50 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" 50 #include "content/renderer/pepper/pepper_plugin_instance_impl.h"
51 #include "content/renderer/pepper/pepper_plugin_registry.h" 51 #include "content/renderer/pepper/pepper_plugin_registry.h"
52 #include "content/renderer/pepper/pepper_url_loader_host.h" 52 #include "content/renderer/pepper/pepper_url_loader_host.h"
53 #include "content/renderer/pepper/pepper_webplugin_impl.h" 53 #include "content/renderer/pepper/pepper_webplugin_impl.h"
54 #include "content/renderer/pepper/plugin_module.h" 54 #include "content/renderer/pepper/plugin_module.h"
55 #include "content/renderer/pepper/ppb_tcp_server_socket_private_impl.h"
56 #include "content/renderer/pepper/ppb_tcp_socket_private_impl.h" 55 #include "content/renderer/pepper/ppb_tcp_socket_private_impl.h"
57 #include "content/renderer/pepper/renderer_ppapi_host_impl.h" 56 #include "content/renderer/pepper/renderer_ppapi_host_impl.h"
58 #include "content/renderer/pepper/resource_helper.h" 57 #include "content/renderer/pepper/resource_helper.h"
59 #include "content/renderer/pepper/url_response_info_util.h" 58 #include "content/renderer/pepper/url_response_info_util.h"
60 #include "content/renderer/render_thread_impl.h" 59 #include "content/renderer/render_thread_impl.h"
61 #include "content/renderer/render_view_impl.h" 60 #include "content/renderer/render_view_impl.h"
62 #include "content/renderer/render_widget_fullscreen_pepper.h" 61 #include "content/renderer/render_widget_fullscreen_pepper.h"
63 #include "content/renderer/webplugin_delegate_proxy.h" 62 #include "content/renderer/webplugin_delegate_proxy.h"
64 #include "ipc/ipc_channel_handle.h" 63 #include "ipc/ipc_channel_handle.h"
65 #include "media/base/audio_hardware_config.h" 64 #include "media/base/audio_hardware_config.h"
(...skipping 890 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 render_view_->Send( 955 render_view_->Send(
957 new PpapiHostMsg_PPBTCPSocket_SetOption(socket_id, name, value)); 956 new PpapiHostMsg_PPBTCPSocket_SetOption(socket_id, name, value));
958 } 957 }
959 958
960 void PepperPluginDelegateImpl::RegisterTCPSocket( 959 void PepperPluginDelegateImpl::RegisterTCPSocket(
961 PPB_TCPSocket_Private_Impl* socket, 960 PPB_TCPSocket_Private_Impl* socket,
962 uint32 socket_id) { 961 uint32 socket_id) {
963 tcp_sockets_.AddWithID(socket, socket_id); 962 tcp_sockets_.AddWithID(socket, socket_id);
964 } 963 }
965 964
966 void PepperPluginDelegateImpl::TCPServerSocketListen(
967 PP_Resource socket_resource,
968 const PP_NetAddress_Private& addr,
969 int32_t backlog) {
970 render_view_->Send(
971 new PpapiHostMsg_PPBTCPServerSocket_Listen(
972 render_view_->routing_id(), 0, socket_resource, addr, backlog));
973 }
974
975 void PepperPluginDelegateImpl::TCPServerSocketAccept(uint32 server_socket_id) {
976 DCHECK(tcp_server_sockets_.Lookup(server_socket_id));
977 render_view_->Send(new PpapiHostMsg_PPBTCPServerSocket_Accept(
978 render_view_->routing_id(), server_socket_id));
979 }
980
981 void PepperPluginDelegateImpl::TCPServerSocketStopListening(
982 PP_Resource socket_resource,
983 uint32 socket_id) {
984 if (socket_id != 0) {
985 render_view_->Send(new PpapiHostMsg_PPBTCPServerSocket_Destroy(socket_id));
986 tcp_server_sockets_.Remove(socket_id);
987 }
988 }
989
990 bool PepperPluginDelegateImpl::X509CertificateParseDER( 965 bool PepperPluginDelegateImpl::X509CertificateParseDER(
991 const std::vector<char>& der, 966 const std::vector<char>& der,
992 ppapi::PPB_X509Certificate_Fields* fields) { 967 ppapi::PPB_X509Certificate_Fields* fields) {
993 bool succeeded = false; 968 bool succeeded = false;
994 render_view_->Send( 969 render_view_->Send(
995 new PpapiHostMsg_PPBX509Certificate_ParseDER(der, &succeeded, fields)); 970 new PpapiHostMsg_PPBX509Certificate_ParseDER(der, &succeeded, fields));
996 return succeeded; 971 return succeeded;
997 } 972 }
998 973
999 FullscreenContainer* PepperPluginDelegateImpl::CreateFullscreenContainer( 974 FullscreenContainer* PepperPluginDelegateImpl::CreateFullscreenContainer(
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 bool handled = true; 1131 bool handled = true;
1157 IPC_BEGIN_MESSAGE_MAP(PepperPluginDelegateImpl, message) 1132 IPC_BEGIN_MESSAGE_MAP(PepperPluginDelegateImpl, message)
1158 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ConnectACK, 1133 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ConnectACK,
1159 OnTCPSocketConnectACK) 1134 OnTCPSocketConnectACK)
1160 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SSLHandshakeACK, 1135 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SSLHandshakeACK,
1161 OnTCPSocketSSLHandshakeACK) 1136 OnTCPSocketSSLHandshakeACK)
1162 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ReadACK, OnTCPSocketReadACK) 1137 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_ReadACK, OnTCPSocketReadACK)
1163 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_WriteACK, OnTCPSocketWriteACK) 1138 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_WriteACK, OnTCPSocketWriteACK)
1164 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SetOptionACK, 1139 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPSocket_SetOptionACK,
1165 OnTCPSocketSetOptionACK) 1140 OnTCPSocketSetOptionACK)
1166 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPServerSocket_ListenACK,
1167 OnTCPServerSocketListenACK)
1168 IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPServerSocket_AcceptACK,
1169 OnTCPServerSocketAcceptACK)
1170 IPC_MESSAGE_UNHANDLED(handled = false) 1141 IPC_MESSAGE_UNHANDLED(handled = false)
1171 IPC_END_MESSAGE_MAP() 1142 IPC_END_MESSAGE_MAP()
1172 return handled; 1143 return handled;
1173 } 1144 }
1174 1145
1175 void PepperPluginDelegateImpl::OnDestruct() { 1146 void PepperPluginDelegateImpl::OnDestruct() {
1176 // Nothing to do here. Default implementation in RenderViewObserver does 1147 // Nothing to do here. Default implementation in RenderViewObserver does
1177 // 'delete this' but it's not suitable for PepperPluginDelegateImpl because 1148 // 'delete this' but it's not suitable for PepperPluginDelegateImpl because
1178 // it's non-pointer member in RenderViewImpl. 1149 // it's non-pointer member in RenderViewImpl.
1179 } 1150 }
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1220 1191
1221 void PepperPluginDelegateImpl::OnTCPSocketSetOptionACK( 1192 void PepperPluginDelegateImpl::OnTCPSocketSetOptionACK(
1222 uint32 plugin_dispatcher_id, 1193 uint32 plugin_dispatcher_id,
1223 uint32 socket_id, 1194 uint32 socket_id,
1224 int32_t result) { 1195 int32_t result) {
1225 PPB_TCPSocket_Private_Impl* socket = tcp_sockets_.Lookup(socket_id); 1196 PPB_TCPSocket_Private_Impl* socket = tcp_sockets_.Lookup(socket_id);
1226 if (socket) 1197 if (socket)
1227 socket->OnSetOptionCompleted(result); 1198 socket->OnSetOptionCompleted(result);
1228 } 1199 }
1229 1200
1230 void PepperPluginDelegateImpl::OnTCPServerSocketListenACK(
1231 uint32 plugin_dispatcher_id,
1232 PP_Resource socket_resource,
1233 uint32 socket_id,
1234 const PP_NetAddress_Private& local_addr,
1235 int32_t status) {
1236 ppapi::thunk::EnterResource<ppapi::thunk::PPB_TCPServerSocket_Private_API>
1237 enter(socket_resource, true);
1238 if (enter.succeeded()) {
1239 ppapi::PPB_TCPServerSocket_Shared* socket =
1240 static_cast<ppapi::PPB_TCPServerSocket_Shared*>(enter.object());
1241 if (status == PP_OK)
1242 tcp_server_sockets_.AddWithID(socket, socket_id);
1243 socket->OnListenCompleted(socket_id, local_addr, status);
1244 } else if (socket_id != 0 && status == PP_OK) {
1245 // StopListening was called before completion of Listen.
1246 render_view_->Send(new PpapiHostMsg_PPBTCPServerSocket_Destroy(socket_id));
1247 }
1248 }
1249
1250 void PepperPluginDelegateImpl::OnTCPServerSocketAcceptACK(
1251 uint32 plugin_dispatcher_id,
1252 uint32 server_socket_id,
1253 uint32 accepted_socket_id,
1254 const PP_NetAddress_Private& local_addr,
1255 const PP_NetAddress_Private& remote_addr) {
1256 ppapi::PPB_TCPServerSocket_Shared* socket =
1257 tcp_server_sockets_.Lookup(server_socket_id);
1258 if (socket) {
1259 bool succeeded = (accepted_socket_id != 0);
1260 socket->OnAcceptCompleted(succeeded,
1261 accepted_socket_id,
1262 local_addr,
1263 remote_addr);
1264 } else if (accepted_socket_id != 0) {
1265 render_view_->Send(
1266 new PpapiHostMsg_PPBTCPSocket_Disconnect(accepted_socket_id));
1267 }
1268 }
1269
1270 int PepperPluginDelegateImpl::GetRoutingID() const { 1201 int PepperPluginDelegateImpl::GetRoutingID() const {
1271 return render_view_->routing_id(); 1202 return render_view_->routing_id();
1272 } 1203 }
1273 1204
1274 MouseLockDispatcher::LockTarget* 1205 MouseLockDispatcher::LockTarget*
1275 PepperPluginDelegateImpl::GetOrCreateLockTargetAdapter( 1206 PepperPluginDelegateImpl::GetOrCreateLockTargetAdapter(
1276 PepperPluginInstanceImpl* instance) { 1207 PepperPluginInstanceImpl* instance) {
1277 MouseLockDispatcher::LockTarget* target = mouse_lock_instances_[instance]; 1208 MouseLockDispatcher::LockTarget* target = mouse_lock_instances_[instance];
1278 if (target) 1209 if (target)
1279 return target; 1210 return target;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1315 should_close_source); 1246 should_close_source);
1316 } 1247 }
1317 1248
1318 bool PepperPluginDelegateImpl::IsRunningInProcess(PP_Instance instance) const { 1249 bool PepperPluginDelegateImpl::IsRunningInProcess(PP_Instance instance) const {
1319 RendererPpapiHostImpl* host = 1250 RendererPpapiHostImpl* host =
1320 RendererPpapiHostImpl::GetForPPInstance(instance); 1251 RendererPpapiHostImpl::GetForPPInstance(instance);
1321 return host && host->IsRunningInProcess(); 1252 return host && host->IsRunningInProcess();
1322 } 1253 }
1323 1254
1324 } // namespace content 1255 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698