Index: content/renderer/render_view_impl.h |
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h |
index af3e9775c3cdcb35cf9102fd3e98fb30b38d9185..b07280753f0c67e966c291ecc13921e0df3b4bc4 100644 |
--- a/content/renderer/render_view_impl.h |
+++ b/content/renderer/render_view_impl.h |
@@ -287,6 +287,14 @@ class RenderViewImpl : public RenderWidget, |
webkit::WebPluginInfo* plugin_info, |
std::string* actual_mime_type); |
+ // Helper function to check that TCP/UDP private APIs are allowed for current |
+ // page. This check actually allows socket usage for NativeClient code only. |
+ // It is better to move this check to Browser process but Pepper message |
yzshen1
2011/11/28 20:59:16
'Browser' -> 'browser', please.
ygorshenin
2011/11/29 18:30:09
Done.
|
+ // filters in browser process have no context about page that sent |
+ // the request. Doing this check in render process is safe because NaCl code |
+ // is executed in separate NaCl process. |
+ bool CanUseSocketAPIs(); |
+ |
// IPC::Channel::Listener implementation ------------------------------------- |
virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE; |
@@ -745,6 +753,35 @@ class RenderViewImpl : public RenderWidget, |
const PP_NetAddress_Private& local_addr, |
const PP_NetAddress_Private& remote_addr); |
#endif |
+ void OnTCPSocketConnectACK(uint32 plugin_dispatcher_id, |
+ uint32 socket_id, |
+ bool succeeded, |
+ const PP_NetAddress_Private& local_addr, |
+ const PP_NetAddress_Private& remote_addr); |
+ void OnTCPSocketSSLHandshakeACK(uint32 plugin_dispatcher_id, |
+ uint32 socket_id, |
+ bool succeeded); |
+ void OnTCPSocketReadACK(uint32 plugin_dispatcher_id, |
+ uint32 socket_id, |
+ bool succeeded, |
+ const std::string& data); |
+ void OnTCPSocketWriteACK(uint32 plugin_dispatcher_id, |
+ uint32 socket_id, |
+ bool succeeded, |
+ int32_t bytes_written); |
+ void OnUDPSocketBindACK(uint32 plugin_dispatcher_id, |
+ uint32 socket_id, |
+ bool succeeded); |
+ void OnUDPSocketSendToACK(uint32 plugin_dispatcher_id, |
+ uint32 socket_id, |
+ bool succeeded, |
+ int32_t bytes_written); |
+ void OnUDPSocketRecvFromACK(uint32 plugin_dispatcher_id, |
+ uint32 socket_id, |
+ bool succeeded, |
+ const std::string& data, |
+ const PP_NetAddress_Private& addr); |
+ |
void OnContextMenuClosed( |
const webkit_glue::CustomContextMenuContext& custom_context); |
void OnCopy(); |
@@ -1213,6 +1250,9 @@ class RenderViewImpl : public RenderWidget, |
// of handling a ViewMsg_SelectRange IPC. |
bool handling_select_range_; |
+ // Set of origins that can use TCP/UDP private APIs from NaCl. |
+ std::set<std::string> allowed_socket_origins_; |
+ |
// --------------------------------------------------------------------------- |
// ADDING NEW DATA? Please see if it fits appropriately in one of the above |
// sections rather than throwing it randomly at the end. If you're adding a |