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

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

Issue 9455092: HostResolver is exposed to plugin. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Sync. Created 8 years, 9 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 cccff7cf144715b4950d8e4572e3ccaf4a43a49f..a1a5610453bff8bc03416efeca8a37986060cc7c 100644
--- a/content/browser/renderer_host/pepper_message_filter.h
+++ b/content/browser/renderer_host/pepper_message_filter.h
@@ -23,6 +23,7 @@ class ListValue;
class PepperTCPServerSocket;
class PepperTCPSocket;
class PepperUDPSocket;
+struct PP_HostResolver_Private_Hint;
struct PP_NetAddress_Private;
namespace content {
@@ -35,6 +36,10 @@ class CertVerifier;
class HostResolver;
}
+namespace ppapi {
+struct HostPortPair;
+}
+
// This class is used in two contexts, both supporting PPAPI plugins. The first
// is on the renderer->browser channel, to handle requests from in-process
// PPAPI plugins and any requests that the PPAPI implementation code in the
@@ -82,6 +87,17 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
const net::SSLConfig& ssl_config() { return ssl_config_; }
private:
+ struct OnConnectTcpBoundInfo {
+ int routing_id;
+ int request_id;
+ };
+
+ struct OnHostResolverResolveBoundInfo {
+ int32 routing_id;
+ uint32 plugin_dispatcher_id;
+ uint32 host_resolver_id;
+ };
+
#if defined(ENABLE_FLAPPER_HACKS)
// Message handlers.
void OnConnectTcp(int routing_id,
@@ -96,14 +112,10 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
bool SendConnectTcpACKError(int routing_id,
int request_id);
- // Used by |OnConnectTcp()| (below).
- class LookupRequest;
- friend class LookupRequest;
-
// Continuation of |OnConnectTcp()|.
- void ConnectTcpLookupFinished(int routing_id,
- int request_id,
- const net::AddressList& addresses);
+ void ConnectTcpLookupFinished(int result,
+ const net::AddressList& addresses,
+ const OnConnectTcpBoundInfo& bound_info);
void ConnectTcpOnWorkerThread(int routing_id,
int request_id,
net::AddressList addresses);
@@ -153,6 +165,20 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
int32_t backlog);
void OnTCPServerAccept(uint32 real_socket_id);
+ void OnHostResolverResolve(int32 routing_id,
+ uint32 plugin_dispatcher_id,
+ uint32 host_resolver_id,
+ const ppapi::HostPortPair& host_port,
+ const PP_HostResolver_Private_Hint& hint);
+ // Continuation of |OnHostResolverResolve()|.
+ void OnHostResolverResolveLookupFinished(
+ int result,
+ const net::AddressList& addresses,
+ const OnHostResolverResolveBoundInfo& bound_info);
+ bool SendHostResolverResolveACKError(int32 routing_id,
+ uint32 plugin_dispatcher_id,
+ uint32 host_resolver_id);
+
void DoTCPConnect(bool allowed,
int32 routing_id,
uint32 socket_id,
@@ -172,6 +198,12 @@ class PepperMessageFilter : public content::BrowserMessageFilter {
uint32 temp_socket_id,
const PP_NetAddress_Private& addr,
int32_t backlog);
+ void DoHostResolverResolve(bool allowed,
+ int32 routing_id,
+ uint32 plugin_dispatcher_id,
+ uint32 host_resolver_id,
+ const ppapi::HostPortPair& host_port,
+ const PP_HostResolver_Private_Hint& hint);
// Callback when the font list has been retrieved on a background thread.
void GetFontFamiliesComplete(IPC::Message* reply_msg,

Powered by Google App Engine
This is Rietveld 408576698