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

Side by Side Diff: net/proxy/proxy_resolver_mac.cc

Issue 1439053002: Change ProxyResolver::GetProxyForURL() to take a scoped_ptr<Request>* rather than a RequestHandle* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Restore scoped_ptr to mock and nits Created 4 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 unified diff | Download patch
« no previous file with comments | « net/proxy/proxy_resolver_factory_mojo_unittest.cc ('k') | net/proxy/proxy_resolver_perftest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/proxy/proxy_resolver_mac.h" 5 #include "net/proxy/proxy_resolver_mac.h"
6 6
7 #include <CoreFoundation/CoreFoundation.h> 7 #include <CoreFoundation/CoreFoundation.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/mac/foundation_util.h" 10 #include "base/mac/foundation_util.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 class ProxyResolverMac : public ProxyResolver { 66 class ProxyResolverMac : public ProxyResolver {
67 public: 67 public:
68 explicit ProxyResolverMac( 68 explicit ProxyResolverMac(
69 const scoped_refptr<ProxyResolverScriptData>& script_data); 69 const scoped_refptr<ProxyResolverScriptData>& script_data);
70 ~ProxyResolverMac() override; 70 ~ProxyResolverMac() override;
71 71
72 // ProxyResolver methods: 72 // ProxyResolver methods:
73 int GetProxyForURL(const GURL& url, 73 int GetProxyForURL(const GURL& url,
74 ProxyInfo* results, 74 ProxyInfo* results,
75 const CompletionCallback& callback, 75 const CompletionCallback& callback,
76 RequestHandle* request, 76 scoped_ptr<Request>* request,
77 const BoundNetLog& net_log) override; 77 const BoundNetLog& net_log) override;
78 78
79 void CancelRequest(RequestHandle request) override;
80
81 LoadState GetLoadState(RequestHandle request) const override;
82
83 private: 79 private:
84 const scoped_refptr<ProxyResolverScriptData> script_data_; 80 const scoped_refptr<ProxyResolverScriptData> script_data_;
85 }; 81 };
86 82
87 ProxyResolverMac::ProxyResolverMac( 83 ProxyResolverMac::ProxyResolverMac(
88 const scoped_refptr<ProxyResolverScriptData>& script_data) 84 const scoped_refptr<ProxyResolverScriptData>& script_data)
89 : script_data_(script_data) { 85 : script_data_(script_data) {
90 } 86 }
91 87
92 ProxyResolverMac::~ProxyResolverMac() {} 88 ProxyResolverMac::~ProxyResolverMac() {}
93 89
94 // Gets the proxy information for a query URL from a PAC. Implementation 90 // Gets the proxy information for a query URL from a PAC. Implementation
95 // inspired by http://developer.apple.com/samplecode/CFProxySupportTool/ 91 // inspired by http://developer.apple.com/samplecode/CFProxySupportTool/
96 int ProxyResolverMac::GetProxyForURL(const GURL& query_url, 92 int ProxyResolverMac::GetProxyForURL(const GURL& query_url,
97 ProxyInfo* results, 93 ProxyInfo* results,
98 const CompletionCallback& /*callback*/, 94 const CompletionCallback& /*callback*/,
99 RequestHandle* /*request*/, 95 scoped_ptr<Request>* /*request*/,
100 const BoundNetLog& net_log) { 96 const BoundNetLog& net_log) {
101 base::ScopedCFTypeRef<CFStringRef> query_ref( 97 base::ScopedCFTypeRef<CFStringRef> query_ref(
102 base::SysUTF8ToCFStringRef(query_url.spec())); 98 base::SysUTF8ToCFStringRef(query_url.spec()));
103 base::ScopedCFTypeRef<CFURLRef> query_url_ref( 99 base::ScopedCFTypeRef<CFURLRef> query_url_ref(
104 CFURLCreateWithString(kCFAllocatorDefault, query_ref.get(), NULL)); 100 CFURLCreateWithString(kCFAllocatorDefault, query_ref.get(), NULL));
105 if (!query_url_ref.get()) 101 if (!query_url_ref.get())
106 return ERR_FAILED; 102 return ERR_FAILED;
107 base::ScopedCFTypeRef<CFStringRef> pac_ref(base::SysUTF8ToCFStringRef( 103 base::ScopedCFTypeRef<CFStringRef> pac_ref(base::SysUTF8ToCFStringRef(
108 script_data_->type() == ProxyResolverScriptData::TYPE_AUTO_DETECT 104 script_data_->type() == ProxyResolverScriptData::TYPE_AUTO_DETECT
109 ? std::string() 105 ? std::string()
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 proxy_uri_list += proxy_server.ToURI(); 192 proxy_uri_list += proxy_server.ToURI();
197 } 193 }
198 194
199 if (!proxy_uri_list.empty()) 195 if (!proxy_uri_list.empty())
200 results->UseNamedProxy(proxy_uri_list); 196 results->UseNamedProxy(proxy_uri_list);
201 // Else do nothing (results is already guaranteed to be in the default state). 197 // Else do nothing (results is already guaranteed to be in the default state).
202 198
203 return OK; 199 return OK;
204 } 200 }
205 201
206 void ProxyResolverMac::CancelRequest(RequestHandle request) {
207 NOTREACHED();
208 }
209
210 LoadState ProxyResolverMac::GetLoadState(RequestHandle request) const {
211 NOTREACHED();
212 return LOAD_STATE_IDLE;
213 }
214
215 } // namespace 202 } // namespace
216 203
217 ProxyResolverFactoryMac::ProxyResolverFactoryMac() 204 ProxyResolverFactoryMac::ProxyResolverFactoryMac()
218 : ProxyResolverFactory(false /*expects_pac_bytes*/) { 205 : ProxyResolverFactory(false /*expects_pac_bytes*/) {
219 } 206 }
220 207
221 int ProxyResolverFactoryMac::CreateProxyResolver( 208 int ProxyResolverFactoryMac::CreateProxyResolver(
222 const scoped_refptr<ProxyResolverScriptData>& pac_script, 209 const scoped_refptr<ProxyResolverScriptData>& pac_script,
223 scoped_ptr<ProxyResolver>* resolver, 210 scoped_ptr<ProxyResolver>* resolver,
224 const CompletionCallback& callback, 211 const CompletionCallback& callback,
225 scoped_ptr<Request>* request) { 212 scoped_ptr<Request>* request) {
226 resolver->reset(new ProxyResolverMac(pac_script)); 213 resolver->reset(new ProxyResolverMac(pac_script));
227 return OK; 214 return OK;
228 } 215 }
229 216
230 } // namespace net 217 } // namespace net
OLDNEW
« no previous file with comments | « net/proxy/proxy_resolver_factory_mojo_unittest.cc ('k') | net/proxy/proxy_resolver_perftest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698