diff options
author | dpolukhin@chromium.org <dpolukhin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-02 14:29:07 +0000 |
---|---|---|
committer | dpolukhin@chromium.org <dpolukhin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-02 14:29:07 +0000 |
commit | ed966587d28db59eb131487bc097d0f4a19a47a4 (patch) | |
tree | 386b9f3f78c09af7a37529b3566416a13a7d2ba2 /content/renderer/render_view_impl.h | |
parent | 64576b675e4fc0e2d2eaa4b669df8685b0f7a476 (diff) | |
download | chromium_src-ed966587d28db59eb131487bc097d0f4a19a47a4.zip chromium_src-ed966587d28db59eb131487bc097d0f4a19a47a4.tar.gz chromium_src-ed966587d28db59eb131487bc097d0f4a19a47a4.tar.bz2 |
Landing 8688002: PPB_TCPSocket_Private/PPB_UDPSocket_Private are exposed to Browser
Review URL: http://codereview.chromium.org/8688002
Patch from Yuri Gorshenin <ygorshenin@chromium.org>.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112693 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_view_impl.h')
-rw-r--r-- | content/renderer/render_view_impl.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/content/renderer/render_view_impl.h b/content/renderer/render_view_impl.h index b6db69f..49c5c90 100644 --- a/content/renderer/render_view_impl.h +++ b/content/renderer/render_view_impl.h @@ -293,6 +293,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 + // 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; @@ -751,6 +759,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(); @@ -1219,6 +1256,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 |