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

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

Issue 9379002: Move socket API restriction check to browser process (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase 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
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 e55a5237b351fa3ff5becd7158086197984b3244..9fdc61737131774c6ba2a9f3d0d53e389901e073 100644
--- a/content/browser/renderer_host/pepper_message_filter.h
+++ b/content/browser/renderer_host/pepper_message_filter.h
@@ -40,11 +40,15 @@ class HostResolver;
// handle requests that out-of-process plugins send directly to the browser.
class PepperMessageFilter : public content::BrowserMessageFilter {
public:
- explicit PepperMessageFilter(content::ResourceContext* resource_context);
+ PepperMessageFilter(int process_id,
+ content::ResourceContext* resource_context);
explicit PepperMessageFilter(net::HostResolver* host_resolver);
virtual ~PepperMessageFilter();
// content::BrowserMessageFilter methods.
+ virtual void OverrideThreadForMessage(
+ const IPC::Message& message,
+ content::BrowserThread::ID* thread) OVERRIDE;
virtual bool OnMessageReceived(const IPC::Message& message,
bool* message_was_ok) OVERRIDE;
@@ -95,8 +99,12 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
void OnTCPCreate(int32 routing_id,
uint32 plugin_dispatcher_id,
uint32* socket_id);
- void OnTCPConnect(uint32 socket_id, const std::string& host, uint16_t port);
- void OnTCPConnectWithNetAddress(uint32 socket_id,
+ void OnTCPConnect(int32 routing_id,
+ uint32 socket_id,
+ const std::string& host,
+ uint16_t port);
+ void OnTCPConnectWithNetAddress(int32 routing_id,
+ uint32 socket_id,
const PP_NetAddress_Private& net_addr);
void OnTCPSSLHandshake(uint32 socket_id,
const std::string& server_name,
@@ -108,19 +116,41 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
void OnUDPCreate(int32 routing_id,
uint32 plugin_dispatcher_id,
uint32* socket_id);
- void OnUDPBind(uint32 socket_id, const PP_NetAddress_Private& addr);
+ void OnUDPBind(int32 routing_id,
+ uint32 socket_id,
+ const PP_NetAddress_Private& addr);
void OnUDPRecvFrom(uint32 socket_id, int32_t num_bytes);
void OnUDPSendTo(uint32 socket_id,
const std::string& data,
const PP_NetAddress_Private& addr);
void OnUDPClose(uint32 socket_id);
+ void DoTCPConnect(bool allowed,
+ int32 routing_id,
+ uint32 socket_id,
+ const std::string& host,
+ uint16_t port);
+ void DoTCPConnectWithNetAddress(bool allowed,
+ int32 routing_id,
+ uint32 socket_id,
+ const PP_NetAddress_Private& net_addr);
+ void DoUDPBind(bool allowed,
+ int32 routing_id,
+ uint32 socket_id,
+ const PP_NetAddress_Private& addr);
+
// Callback when the font list has been retrieved on a background thread.
void GetFontFamiliesComplete(IPC::Message* reply_msg,
scoped_refptr<content::FontListResult> result);
uint32 GenerateSocketID();
+ // Return true if render with given ID can use socket APIs.
+ bool CanUseSocketAPIs(int32 render_id);
+
+ // Render process ID.
+ int process_id_;
+
// When non-NULL, this should be used instead of the host_resolver_.
content::ResourceContext* const resource_context_;
« no previous file with comments | « content/browser/mock_content_browser_client.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