Chromium Code Reviews| 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 |