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

Unified Diff: ppapi/proxy/ppb_tcp_server_socket_private_proxy.cc

Issue 19005006: Switched proxy for TCPServerSocketPrivate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed content_unittests. Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/proxy/ppb_tcp_server_socket_private_proxy.cc
diff --git a/ppapi/proxy/ppb_tcp_server_socket_private_proxy.cc b/ppapi/proxy/ppb_tcp_server_socket_private_proxy.cc
deleted file mode 100644
index f895aaccd7319cf6b39dd9b436a42ef137b5de7c..0000000000000000000000000000000000000000
--- a/ppapi/proxy/ppb_tcp_server_socket_private_proxy.cc
+++ /dev/null
@@ -1,199 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "ppapi/proxy/ppb_tcp_server_socket_private_proxy.h"
-
-#include <cstddef>
-
-#include "base/logging.h"
-#include "ppapi/c/pp_errors.h"
-#include "ppapi/proxy/plugin_dispatcher.h"
-#include "ppapi/proxy/plugin_globals.h"
-#include "ppapi/proxy/plugin_resource_tracker.h"
-#include "ppapi/proxy/ppapi_messages.h"
-#include "ppapi/proxy/ppb_tcp_socket_private_proxy.h"
-#include "ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h"
-#include "ppapi/shared_impl/resource.h"
-#include "ppapi/thunk/enter.h"
-#include "ppapi/thunk/thunk.h"
-
-namespace ppapi {
-namespace proxy {
-
-namespace {
-
-class TCPServerSocket : public PPB_TCPServerSocket_Shared {
- public:
- TCPServerSocket(const HostResource& resource, uint32 plugin_dispatcher_id);
- virtual ~TCPServerSocket();
-
- virtual void OnAcceptCompleted(
- bool succeeded,
- uint32 tcp_socket_id,
- const PP_NetAddress_Private& local_addr,
- const PP_NetAddress_Private& remote_addr) OVERRIDE;
-
- virtual void SendListen(const PP_NetAddress_Private& addr,
- int32_t backlog) OVERRIDE;
- virtual void SendAccept() OVERRIDE;
- virtual void SendStopListening() OVERRIDE;
-
- private:
- void SendToBrowser(IPC::Message* msg);
-
- uint32 plugin_dispatcher_id_;
-
- DISALLOW_COPY_AND_ASSIGN(TCPServerSocket);
-};
-
-TCPServerSocket::TCPServerSocket(const HostResource& resource,
- uint32 plugin_dispatcher_id)
- : PPB_TCPServerSocket_Shared(resource),
- plugin_dispatcher_id_(plugin_dispatcher_id) {
-}
-
-TCPServerSocket::~TCPServerSocket() {
- StopListening();
-}
-
-void TCPServerSocket::OnAcceptCompleted(
- bool succeeded,
- uint32 accepted_socket_id,
- const PP_NetAddress_Private& local_addr,
- const PP_NetAddress_Private& remote_addr) {
- if (!TrackedCallback::IsPending(accept_callback_) || !tcp_socket_buffer_) {
- NOTREACHED();
- return;
- }
-
- if (succeeded) {
- *tcp_socket_buffer_ =
- PPB_TCPSocket_Private_Proxy::CreateProxyResourceForConnectedSocket(
- pp_instance(),
- accepted_socket_id,
- local_addr,
- remote_addr);
- }
- tcp_socket_buffer_ = NULL;
-
- accept_callback_->Run(succeeded ? PP_OK : PP_ERROR_FAILED);
-}
-
-void TCPServerSocket::SendListen(const PP_NetAddress_Private& addr,
- int32_t backlog) {
- SendToBrowser(new PpapiHostMsg_PPBTCPServerSocket_Listen(
- API_ID_PPB_TCPSERVERSOCKET_PRIVATE,
yzshen1 2013/07/19 23:51:58 The definition of this ID in api_id.h is not neede
ygorshenin1 2013/07/29 14:03:57 Done.
- plugin_dispatcher_id_,
- pp_resource(),
- addr,
- backlog));
-}
-
-void TCPServerSocket::SendAccept() {
- SendToBrowser(new PpapiHostMsg_PPBTCPServerSocket_Accept(
- API_ID_PPB_TCPSOCKET_PRIVATE, socket_id_));
-}
-
-void TCPServerSocket::SendStopListening() {
- if (socket_id_ != 0) {
- SendToBrowser(new PpapiHostMsg_PPBTCPServerSocket_Destroy(socket_id_));
-
- PluginDispatcher* dispatcher =
- PluginDispatcher::GetForInstance(host_resource().instance());
- if (dispatcher) {
- InterfaceProxy* proxy =
- dispatcher->GetInterfaceProxy(API_ID_PPB_TCPSERVERSOCKET_PRIVATE);
- PPB_TCPServerSocket_Private_Proxy* server_socket_proxy =
- static_cast<PPB_TCPServerSocket_Private_Proxy*>(proxy);
- server_socket_proxy->ObjectDestroyed(socket_id_);
- }
- }
-}
-
-void TCPServerSocket::SendToBrowser(IPC::Message* msg) {
- PluginGlobals::Get()->GetBrowserSender()->Send(msg);
-}
-
-} // namespace
-
-//------------------------------------------------------------------------------
-
-PPB_TCPServerSocket_Private_Proxy::PPB_TCPServerSocket_Private_Proxy(
- Dispatcher* dispatcher)
- : InterfaceProxy(dispatcher) {
-}
-
-PPB_TCPServerSocket_Private_Proxy::~PPB_TCPServerSocket_Private_Proxy() {
-}
-
-PP_Resource PPB_TCPServerSocket_Private_Proxy::CreateProxyResource(
- PP_Instance instance) {
- PluginDispatcher* dispatcher = PluginDispatcher::GetForInstance(instance);
- if (!dispatcher)
- return 0;
-
- TCPServerSocket* server_socket =
- new TCPServerSocket(HostResource::MakeInstanceOnly(instance),
- dispatcher->plugin_dispatcher_id());
- return server_socket->GetReference();
-}
-
-void PPB_TCPServerSocket_Private_Proxy::ObjectDestroyed(uint32 socket_id) {
- id_to_server_socket_.erase(socket_id);
-}
-
-bool PPB_TCPServerSocket_Private_Proxy::OnMessageReceived(
- const IPC::Message& msg) {
- bool handled = true;
- IPC_BEGIN_MESSAGE_MAP(PPB_TCPServerSocket_Private_Proxy, msg)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPServerSocket_ListenACK, OnMsgListenACK)
- IPC_MESSAGE_HANDLER(PpapiMsg_PPBTCPServerSocket_AcceptACK, OnMsgAcceptACK)
- IPC_MESSAGE_UNHANDLED(handled = false)
- IPC_END_MESSAGE_MAP()
- return handled;
-}
-
-void PPB_TCPServerSocket_Private_Proxy::OnMsgListenACK(
- uint32 plugin_dispatcher_id,
- PP_Resource socket_resource,
- uint32 socket_id,
- const PP_NetAddress_Private& local_addr,
- int32_t status) {
- thunk::EnterResourceNoLock<thunk::PPB_TCPServerSocket_Private_API>
- enter(socket_resource, true);
- if (enter.succeeded()) {
- PPB_TCPServerSocket_Shared* server_socket =
- static_cast<PPB_TCPServerSocket_Shared*>(enter.object());
- if (status == PP_OK)
- id_to_server_socket_[socket_id] = server_socket;
- server_socket->OnListenCompleted(socket_id, local_addr, status);
- } else if (socket_id != 0 && status == PP_OK) {
- IPC::Message* msg =
- new PpapiHostMsg_PPBTCPServerSocket_Destroy(socket_id);
- PluginGlobals::Get()->GetBrowserSender()->Send(msg);
- }
-}
-
-void PPB_TCPServerSocket_Private_Proxy::OnMsgAcceptACK(
- uint32 plugin_dispatcher_id,
- uint32 server_socket_id,
- uint32 accepted_socket_id,
- const PP_NetAddress_Private& local_addr,
- const PP_NetAddress_Private& remote_addr) {
- IDToServerSocketMap::iterator it =
- id_to_server_socket_.find(server_socket_id);
- if (it != id_to_server_socket_.end()) {
- bool succeeded = (accepted_socket_id != 0);
- it->second->OnAcceptCompleted(succeeded,
- accepted_socket_id,
- local_addr,
- remote_addr);
- } else if (accepted_socket_id != 0) {
- PluginGlobals::Get()->GetBrowserSender()->Send(
- new PpapiHostMsg_PPBTCPSocket_Disconnect(accepted_socket_id));
- }
-}
-
-} // namespace proxy
-} // namespace ppapi

Powered by Google App Engine
This is Rietveld 408576698