summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorraymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-19 07:33:00 +0000
committerraymes@chromium.org <raymes@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-19 07:33:00 +0000
commitb02f590b8663f6c40df80bb9e041c32d9b84b519 (patch)
tree1bfe33f4c3d3e1d6af01aebe85811112d5c08f1d
parentf91a75e00c853bcab5ab23175b97b022055bc9bb (diff)
downloadchromium_src-b02f590b8663f6c40df80bb9e041c32d9b84b519.zip
chromium_src-b02f590b8663f6c40df80bb9e041c32d9b84b519.tar.gz
chromium_src-b02f590b8663f6c40df80bb9e041c32d9b84b519.tar.bz2
Add ResolveProxy to the content API.
Currently the pepper_flash_renderer_host.cc is in content/ but brettw informs me that Flash-related hosts should live in chrome/. To do this ResolveProxy needs to be added to the content API. The host will be moved out of content/ in the next CL. Review URL: https://chromiumcodereview.appspot.com/11649010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173874 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--content/public/renderer/render_thread.h6
-rw-r--r--content/public/test/mock_render_thread.cc4
-rw-r--r--content/public/test/mock_render_thread.h1
-rw-r--r--content/renderer/pepper/pepper_flash_renderer_host.cc7
-rw-r--r--content/renderer/render_thread_impl.cc6
-rw-r--r--content/renderer/render_thread_impl.h1
-rw-r--r--content/renderer/webplugin_delegate_proxy.cc4
7 files changed, 21 insertions, 8 deletions
diff --git a/content/public/renderer/render_thread.h b/content/public/renderer/render_thread.h
index 353d38a..328a6bd 100644
--- a/content/public/renderer/render_thread.h
+++ b/content/public/renderer/render_thread.h
@@ -15,6 +15,7 @@
#include <windows.h>
#endif
+class GURL;
class MessageLoop;
namespace base {
@@ -105,6 +106,11 @@ class CONTENT_EXPORT RenderThread : public IPC::Sender {
virtual void UpdateHistograms(int sequence_number) = 0;
+ // Resolve the proxy servers to use for a given url. On success true is
+ // returned and |proxy_list| is set to a PAC string containing a list of
+ // proxy servers.
+ virtual bool ResolveProxy(const GURL& url, std::string* proxy_list) = 0;
+
#if defined(OS_WIN)
// Request that the given font be loaded by the browser so it's cached by the
// OS. Please see ChildProcessHost::PreCacheFont for details.
diff --git a/content/public/test/mock_render_thread.cc b/content/public/test/mock_render_thread.cc
index b532f39..f8332b7 100644
--- a/content/public/test/mock_render_thread.cc
+++ b/content/public/test/mock_render_thread.cc
@@ -176,6 +176,10 @@ void MockRenderThread::ToggleWebKitSharedTimer(bool suspend) {
void MockRenderThread::UpdateHistograms(int sequence_number) {
}
+bool MockRenderThread::ResolveProxy(const GURL& url, std::string* proxy_list) {
+ return false;
+}
+
#if defined(OS_WIN)
void MockRenderThread::PreCacheFont(const LOGFONT& log_font) {
}
diff --git a/content/public/test/mock_render_thread.h b/content/public/test/mock_render_thread.h
index a241ff0..a20dc54 100644
--- a/content/public/test/mock_render_thread.h
+++ b/content/public/test/mock_render_thread.h
@@ -69,6 +69,7 @@ class MockRenderThread : public RenderThread {
int64 idle_notification_delay_in_ms) OVERRIDE;
virtual void ToggleWebKitSharedTimer(bool suspend) OVERRIDE;
virtual void UpdateHistograms(int sequence_number) OVERRIDE;
+ virtual bool ResolveProxy(const GURL& url, std::string* proxy_list) OVERRIDE;
#if defined(OS_WIN)
virtual void PreCacheFont(const LOGFONT& log_font) OVERRIDE;
virtual void ReleaseCachedFonts() OVERRIDE;
diff --git a/content/renderer/pepper/pepper_flash_renderer_host.cc b/content/renderer/pepper/pepper_flash_renderer_host.cc
index f07638a..e17511d2 100644
--- a/content/renderer/pepper/pepper_flash_renderer_host.cc
+++ b/content/renderer/pepper/pepper_flash_renderer_host.cc
@@ -4,9 +4,8 @@
#include "content/renderer/pepper/pepper_flash_renderer_host.h"
-#include "content/common/view_messages.h"
+#include "content/public/renderer/render_thread.h"
#include "content/public/renderer/renderer_ppapi_host.h"
-#include "content/renderer/render_thread_impl.h"
#include "googleurl/src/gurl.h"
#include "ipc/ipc_message_macros.h"
#include "ppapi/c/pp_errors.h"
@@ -42,10 +41,8 @@ int32_t PepperFlashRendererHost::OnMsgGetProxyForURL(
GURL gurl(url);
if (!gurl.is_valid())
return PP_ERROR_FAILED;
- bool result;
std::string proxy;
- RenderThreadImpl::current()->Send(
- new ViewHostMsg_ResolveProxy(gurl, &result, &proxy));
+ bool result = RenderThread::Get()->ResolveProxy(gurl, &proxy);
if (!result)
return PP_ERROR_FAILED;
host_context->reply_msg = PpapiPluginMsg_Flash_GetProxyForURLReply(proxy);
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index ce775a8f..7b52bf1 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -848,6 +848,12 @@ void RenderThreadImpl::UpdateHistograms(int sequence_number) {
child_histogram_message_filter()->SendHistograms(sequence_number);
}
+bool RenderThreadImpl::ResolveProxy(const GURL& url, std::string* proxy_list) {
+ bool result = false;
+ Send(new ViewHostMsg_ResolveProxy(url, &result, proxy_list));
+ return result;
+}
+
void RenderThreadImpl::PostponeIdleNotification() {
idle_notifications_to_skip_ = 2;
}
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index b1b2445..f62398f 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -127,6 +127,7 @@ class CONTENT_EXPORT RenderThreadImpl : public RenderThread,
int64 idle_notification_delay_in_ms) OVERRIDE;
virtual void ToggleWebKitSharedTimer(bool suspend) OVERRIDE;
virtual void UpdateHistograms(int sequence_number) OVERRIDE;
+ virtual bool ResolveProxy(const GURL& url, std::string* proxy_list) OVERRIDE;
#if defined(OS_WIN)
virtual void PreCacheFont(const LOGFONT& log_font) OVERRIDE;
virtual void ReleaseCachedFonts() OVERRIDE;
diff --git a/content/renderer/webplugin_delegate_proxy.cc b/content/renderer/webplugin_delegate_proxy.cc
index a05cfec..09f989b 100644
--- a/content/renderer/webplugin_delegate_proxy.cc
+++ b/content/renderer/webplugin_delegate_proxy.cc
@@ -990,9 +990,7 @@ void WebPluginDelegateProxy::OnGetWindowScriptNPObject(
void WebPluginDelegateProxy::OnResolveProxy(const GURL& url,
bool* result,
std::string* proxy_list) {
- *result = false;
- RenderThreadImpl::current()->Send(
- new ViewHostMsg_ResolveProxy(url, result, proxy_list));
+ *result = RenderThreadImpl::current()->ResolveProxy(url, proxy_list);
}
void WebPluginDelegateProxy::OnGetPluginElement(int route_id, bool* success) {