summaryrefslogtreecommitdiffstats
path: root/webkit/tools
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/tools')
-rw-r--r--webkit/tools/test_shell/simple_resource_loader_bridge.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/webkit/tools/test_shell/simple_resource_loader_bridge.cc b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
index e5b1aff..d7737f3 100644
--- a/webkit/tools/test_shell/simple_resource_loader_bridge.cc
+++ b/webkit/tools/test_shell/simple_resource_loader_bridge.cc
@@ -40,6 +40,7 @@
#include "net/base/io_buffer.h"
#include "net/base/net_util.h"
#include "net/base/upload_data.h"
+#include "net/proxy/proxy_service.h"
#include "net/url_request/url_request.h"
#include "webkit/glue/resource_loader_bridge.h"
#include "webkit/tools/test_shell/test_shell_request_context.h"
@@ -526,6 +527,24 @@ std::string GetCookies(const GURL& url, const GURL& policy_url) {
return getter->GetResult();
}
+// Issue the proxy resolve request on the io thread, and wait
+// for the result.
+bool FindProxyForUrl(const GURL& url, std::string* proxy_list) {
+ DCHECK(request_context);
+
+ scoped_refptr<net::SyncProxyServiceHelper> sync_proxy_service(
+ new net::SyncProxyServiceHelper(io_thread->message_loop(),
+ request_context->proxy_service()));
+
+ net::ProxyInfo proxy_info;
+ int rv = sync_proxy_service->ResolveProxy(url, &proxy_info);
+ if (rv == net::OK) {
+ *proxy_list = proxy_info.GetAnnotatedProxyList();
+ }
+
+ return rv == net::OK;
+}
+
} // namespace webkit_glue
//-----------------------------------------------------------------------------