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

Unified Diff: content/browser/renderer_host/pepper_message_filter.h

Issue 9283022: Exposed Listen and Accept methods to plugin. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Sync. Created 8 years, 10 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
« no previous file with comments | « chrome/test/ui/ppapi_uitest.cc ('k') | content/browser/renderer_host/pepper_message_filter.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/renderer_host/pepper_message_filter.h
diff --git a/content/browser/renderer_host/pepper_message_filter.h b/content/browser/renderer_host/pepper_message_filter.h
index 203491d6fcc17abd0a1a4a8a8c9b5c65a6944459..a5f5dec8b930ba4680c11f25f34e17dc02e14ccc 100644
--- a/content/browser/renderer_host/pepper_message_filter.h
+++ b/content/browser/renderer_host/pepper_message_filter.h
@@ -17,8 +17,10 @@
#include "content/browser/font_list_async.h"
#include "content/public/browser/browser_message_filter.h"
#include "net/base/ssl_config_service.h"
+#include "net/socket/stream_socket.h"
#include "ppapi/c/pp_stdint.h"
+class PepperTCPServerSocket;
class PepperTCPSocket;
class PepperUDPSocket;
struct PP_NetAddress_Private;
@@ -68,6 +70,15 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
net::CertVerifier* GetCertVerifier();
+ // Adds already accepted socket to the internal TCP sockets table. Takes
+ // ownership over |socket|. In the case of failure (full socket table)
+ // returns 0 and deletes |socket|. Otherwise, returns generated ID for
+ // |socket|.
+ uint32 AddAcceptedTCPSocket(int32 routing_id,
+ uint32 plugin_dispatcher_id,
+ net::StreamSocket* socket);
+ void RemoveTCPServerSocket(uint32 real_socket_id);
+
const net::SSLConfig& ssl_config() { return ssl_config_; }
private:
@@ -135,6 +146,13 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
const PP_NetAddress_Private& addr);
void OnUDPClose(uint32 socket_id);
+ void OnTCPServerListen(int32 routing_id,
+ uint32 plugin_dispatcher_id,
+ uint32 temp_socket_id,
+ const PP_NetAddress_Private& addr,
+ int32_t backlog);
+ void OnTCPServerAccept(uint32 real_socket_id);
+
void DoTCPConnect(bool allowed,
int32 routing_id,
uint32 socket_id,
@@ -148,6 +166,12 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
int32 routing_id,
uint32 socket_id,
const PP_NetAddress_Private& addr);
+ void DoTCPServerListen(bool allowed,
+ int32 routing_id,
+ uint32 plugin_dispatcher_id,
+ uint32 temp_socket_id,
+ const PP_NetAddress_Private& addr,
+ int32_t backlog);
// Callback when the font list has been retrieved on a background thread.
void GetFontFamiliesComplete(IPC::Message* reply_msg,
@@ -184,6 +208,10 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
typedef std::map<uint32, linked_ptr<PepperUDPSocket> > UDPSocketMap;
UDPSocketMap udp_sockets_;
+ typedef std::map<uint32,
+ linked_ptr<PepperTCPServerSocket> > TCPServerSocketMap;
+ TCPServerSocketMap tcp_server_sockets_;
+
DISALLOW_COPY_AND_ASSIGN(PepperMessageFilter);
};
« no previous file with comments | « chrome/test/ui/ppapi_uitest.cc ('k') | content/browser/renderer_host/pepper_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698