OLD | NEW |
---|---|
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 <map> | 8 #include <map> |
9 #include <queue> | 9 #include <queue> |
10 | 10 |
(...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1053 void PepperPluginDelegateImpl::UDPSocketClose(uint32 socket_id) { | 1053 void PepperPluginDelegateImpl::UDPSocketClose(uint32 socket_id) { |
1054 // There are no DCHECK(udp_sockets_.Lookup(socket_id)) because it | 1054 // There are no DCHECK(udp_sockets_.Lookup(socket_id)) because it |
1055 // can be called before UDPSocketBind is called. | 1055 // can be called before UDPSocketBind is called. |
1056 render_view_->Send(new PpapiHostMsg_PPBUDPSocket_Close(socket_id)); | 1056 render_view_->Send(new PpapiHostMsg_PPBUDPSocket_Close(socket_id)); |
1057 if (udp_sockets_.Lookup(socket_id)) | 1057 if (udp_sockets_.Lookup(socket_id)) |
1058 udp_sockets_.Remove(socket_id); | 1058 udp_sockets_.Remove(socket_id); |
1059 } | 1059 } |
1060 | 1060 |
1061 void PepperPluginDelegateImpl::TCPServerSocketListen( | 1061 void PepperPluginDelegateImpl::TCPServerSocketListen( |
1062 webkit::ppapi::PPB_TCPServerSocket_Private_Impl* socket, | 1062 webkit::ppapi::PPB_TCPServerSocket_Private_Impl* socket, |
1063 uint32 temp_socket_id, | 1063 PP_Resource socket_resource, |
1064 const PP_NetAddress_Private& addr, | 1064 const PP_NetAddress_Private& addr, |
1065 int32_t backlog) { | 1065 int32_t backlog) { |
1066 uninitialized_tcp_server_sockets_.AddWithID(socket, temp_socket_id); | 1066 uninitialized_tcp_server_sockets_.AddWithID(socket, socket_resource); |
1067 render_view_->Send( | 1067 render_view_->Send( |
1068 new PpapiHostMsg_PPBTCPServerSocket_Listen( | 1068 new PpapiHostMsg_PPBTCPServerSocket_Listen( |
1069 render_view_->routing_id(), 0, temp_socket_id, addr, backlog)); | 1069 render_view_->routing_id(), 0, socket_resource, addr, backlog)); |
1070 } | 1070 } |
1071 | 1071 |
1072 void PepperPluginDelegateImpl::TCPServerSocketAccept(uint32 real_socket_id) { | 1072 void PepperPluginDelegateImpl::TCPServerSocketAccept(uint32 real_socket_id) { |
1073 DCHECK(tcp_server_sockets_.Lookup(real_socket_id)); | 1073 DCHECK(tcp_server_sockets_.Lookup(real_socket_id)); |
1074 render_view_->Send(new PpapiHostMsg_PPBTCPServerSocket_Accept( | 1074 render_view_->Send(new PpapiHostMsg_PPBTCPServerSocket_Accept( |
1075 real_socket_id)); | 1075 render_view_->routing_id(), real_socket_id)); |
1076 } | 1076 } |
1077 | 1077 |
1078 void PepperPluginDelegateImpl::TCPServerSocketStopListening( | 1078 void PepperPluginDelegateImpl::TCPServerSocketStopListening( |
1079 uint32 real_socket_id, | 1079 PP_Resource socket_resource, |
1080 uint32 temp_socket_id) { | 1080 uint32 real_socket_id) { |
1081 if (real_socket_id == 0) { | 1081 if (real_socket_id == 0) { |
1082 if (uninitialized_tcp_server_sockets_.Lookup(temp_socket_id)) { | 1082 if (uninitialized_tcp_server_sockets_.Lookup(socket_resource)) { |
1083 // Pending Listen request. | 1083 // Pending Listen request. |
1084 uninitialized_tcp_server_sockets_.Remove(temp_socket_id); | 1084 uninitialized_tcp_server_sockets_.Remove(socket_resource); |
1085 } | 1085 } |
1086 } else { | 1086 } else { |
1087 render_view_->Send( | 1087 render_view_->Send( |
1088 new PpapiHostMsg_PPBTCPServerSocket_Destroy(real_socket_id)); | 1088 new PpapiHostMsg_PPBTCPServerSocket_Destroy(real_socket_id)); |
1089 tcp_server_sockets_.Remove(real_socket_id); | 1089 tcp_server_sockets_.Remove(real_socket_id); |
1090 } | 1090 } |
1091 } | 1091 } |
1092 | 1092 |
1093 bool PepperPluginDelegateImpl::AddNetworkListObserver( | 1093 bool PepperPluginDelegateImpl::AddNetworkListObserver( |
1094 webkit_glue::NetworkListObserver* observer) { | 1094 webkit_glue::NetworkListObserver* observer) { |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1456 bool succeeded, | 1456 bool succeeded, |
1457 int32_t bytes_written) { | 1457 int32_t bytes_written) { |
1458 webkit::ppapi::PPB_UDPSocket_Private_Impl* socket = | 1458 webkit::ppapi::PPB_UDPSocket_Private_Impl* socket = |
1459 udp_sockets_.Lookup(socket_id); | 1459 udp_sockets_.Lookup(socket_id); |
1460 if (socket) | 1460 if (socket) |
1461 socket->OnSendToCompleted(succeeded, bytes_written); | 1461 socket->OnSendToCompleted(succeeded, bytes_written); |
1462 } | 1462 } |
1463 | 1463 |
1464 void PepperPluginDelegateImpl::OnTCPServerSocketListenACK( | 1464 void PepperPluginDelegateImpl::OnTCPServerSocketListenACK( |
1465 uint32 plugin_dispatcher_id, | 1465 uint32 plugin_dispatcher_id, |
1466 PP_Resource socket_resource, | |
1466 uint32 real_socket_id, | 1467 uint32 real_socket_id, |
1467 uint32 temp_socket_id, | |
1468 int32_t status) { | 1468 int32_t status) { |
1469 webkit::ppapi::PPB_TCPServerSocket_Private_Impl* socket = | 1469 webkit::ppapi::PPB_TCPServerSocket_Private_Impl* socket = |
1470 uninitialized_tcp_server_sockets_.Lookup(temp_socket_id); | 1470 uninitialized_tcp_server_sockets_.Lookup(socket_resource); |
yzshen1
2012/03/13 17:46:32
Can we also use EnterResource and remove uninitial
ygorshenin1
2012/03/14 11:36:18
Sure, thanks!
On 2012/03/13 17:46:32, yzshen1 wro
| |
1471 if (socket == NULL) { | 1471 if (socket == NULL) { |
1472 // StopListening was called before completion of Listen. | 1472 // StopListening was called before completion of Listen. |
1473 render_view_->Send( | 1473 render_view_->Send( |
1474 new PpapiHostMsg_PPBTCPServerSocket_Destroy(real_socket_id)); | 1474 new PpapiHostMsg_PPBTCPServerSocket_Destroy(real_socket_id)); |
1475 } else { | 1475 } else { |
1476 uninitialized_tcp_server_sockets_.Remove(temp_socket_id); | 1476 uninitialized_tcp_server_sockets_.Remove(socket_resource); |
1477 | 1477 |
1478 if (status == PP_OK) | 1478 if (status == PP_OK) |
1479 tcp_server_sockets_.AddWithID(socket, real_socket_id); | 1479 tcp_server_sockets_.AddWithID(socket, real_socket_id); |
1480 socket->OnListenCompleted(real_socket_id, status); | 1480 socket->OnListenCompleted(real_socket_id, status); |
1481 } | 1481 } |
1482 } | 1482 } |
1483 | 1483 |
1484 void PepperPluginDelegateImpl::OnTCPServerSocketAcceptACK( | 1484 void PepperPluginDelegateImpl::OnTCPServerSocketAcceptACK( |
1485 uint32 plugin_dispatcher_id, | 1485 uint32 plugin_dispatcher_id, |
1486 uint32 real_server_socket_id, | 1486 uint32 real_socket_id, |
1487 uint32 accepted_socket_id, | 1487 uint32 accepted_socket_id, |
1488 const PP_NetAddress_Private& local_addr, | 1488 const PP_NetAddress_Private& local_addr, |
1489 const PP_NetAddress_Private& remote_addr) { | 1489 const PP_NetAddress_Private& remote_addr) { |
1490 webkit::ppapi::PPB_TCPServerSocket_Private_Impl* socket = | 1490 webkit::ppapi::PPB_TCPServerSocket_Private_Impl* socket = |
1491 tcp_server_sockets_.Lookup(real_server_socket_id); | 1491 tcp_server_sockets_.Lookup(real_socket_id); |
1492 if (socket) { | 1492 if (socket) { |
1493 bool succeeded = accepted_socket_id != 0; | 1493 bool succeeded = (accepted_socket_id != 0); |
1494 socket->OnAcceptCompleted(succeeded, | 1494 socket->OnAcceptCompleted(succeeded, |
1495 accepted_socket_id, | 1495 accepted_socket_id, |
1496 local_addr, | 1496 local_addr, |
1497 remote_addr); | 1497 remote_addr); |
1498 } | 1498 } |
yzshen1
2012/03/13 17:46:32
Please consider sending back a message to destroy
ygorshenin1
2012/03/14 11:36:18
Done.
| |
1499 } | 1499 } |
1500 | 1500 |
1501 int PepperPluginDelegateImpl::GetRoutingID() const { | 1501 int PepperPluginDelegateImpl::GetRoutingID() const { |
1502 return render_view_->routing_id(); | 1502 return render_view_->routing_id(); |
1503 } | 1503 } |
1504 | 1504 |
1505 int PepperPluginDelegateImpl::OpenDevice(PP_DeviceType_Dev type, | 1505 int PepperPluginDelegateImpl::OpenDevice(PP_DeviceType_Dev type, |
1506 const std::string& device_id, | 1506 const std::string& device_id, |
1507 const OpenDeviceCallback& callback) { | 1507 const OpenDeviceCallback& callback) { |
1508 int request_id = | 1508 int request_id = |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1582 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(target); | 1582 render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(target); |
1583 delete target; | 1583 delete target; |
1584 mouse_lock_instances_.erase(it); | 1584 mouse_lock_instances_.erase(it); |
1585 } | 1585 } |
1586 } | 1586 } |
1587 | 1587 |
1588 webkit_glue::ClipboardClient* | 1588 webkit_glue::ClipboardClient* |
1589 PepperPluginDelegateImpl::CreateClipboardClient() const { | 1589 PepperPluginDelegateImpl::CreateClipboardClient() const { |
1590 return new RendererClipboardClient; | 1590 return new RendererClipboardClient; |
1591 } | 1591 } |
OLD | NEW |