OLD | NEW |
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 #ifndef NET_PROXY_MOCK_PROXY_RESOLVER_H_ | 5 #ifndef NET_PROXY_MOCK_PROXY_RESOLVER_H_ |
6 #define NET_PROXY_MOCK_PROXY_RESOLVER_H_ | 6 #define NET_PROXY_MOCK_PROXY_RESOLVER_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "googleurl/src/gurl.h" | 12 #include "googleurl/src/gurl.h" |
13 #include "net/base/net_errors.h" | 13 #include "net/base/net_errors.h" |
14 #include "net/proxy/proxy_resolver.h" | 14 #include "net/proxy/proxy_resolver.h" |
15 | 15 |
16 class MessageLoop; | 16 class MessageLoop; |
17 | 17 |
18 namespace net { | 18 namespace net { |
19 | 19 |
20 // Asynchronous mock proxy resolver. All requests complete asynchronously, | 20 // Asynchronous mock proxy resolver. All requests complete asynchronously, |
21 // user must call Request::CompleteNow() on a pending request to signal it. | 21 // user must call Request::CompleteNow() on a pending request to signal it. |
22 class MockAsyncProxyResolverBase : public ProxyResolver { | 22 class MockAsyncProxyResolverBase : public ProxyResolver { |
23 public: | 23 public: |
24 class Request : public base::RefCounted<Request> { | 24 class Request : public base::RefCounted<Request> { |
25 public: | 25 public: |
26 Request(MockAsyncProxyResolverBase* resolver, | 26 Request(MockAsyncProxyResolverBase* resolver, |
27 const GURL& url, | 27 const GURL& url, |
28 ProxyInfo* results, | 28 ProxyInfo* results, |
29 OldCompletionCallback* callback); | 29 const net::CompletionCallback& callback); |
30 | 30 |
31 const GURL& url() const { return url_; } | 31 const GURL& url() const { return url_; } |
32 ProxyInfo* results() const { return results_; } | 32 ProxyInfo* results() const { return results_; } |
33 OldCompletionCallback* callback() const { return callback_; } | 33 const net::CompletionCallback& callback() const { return callback_; } |
34 | 34 |
35 void CompleteNow(int rv); | 35 void CompleteNow(int rv); |
36 | 36 |
37 private: | 37 private: |
38 friend class base::RefCounted<Request>; | 38 friend class base::RefCounted<Request>; |
39 | 39 |
40 virtual ~Request(); | 40 virtual ~Request(); |
41 | 41 |
42 MockAsyncProxyResolverBase* resolver_; | 42 MockAsyncProxyResolverBase* resolver_; |
43 const GURL url_; | 43 const GURL url_; |
44 ProxyInfo* results_; | 44 ProxyInfo* results_; |
45 OldCompletionCallback* callback_; | 45 net::CompletionCallback callback_; |
46 MessageLoop* origin_loop_; | 46 MessageLoop* origin_loop_; |
47 }; | 47 }; |
48 | 48 |
49 class SetPacScriptRequest { | 49 class SetPacScriptRequest { |
50 public: | 50 public: |
51 SetPacScriptRequest( | 51 SetPacScriptRequest( |
52 MockAsyncProxyResolverBase* resolver, | 52 MockAsyncProxyResolverBase* resolver, |
53 const scoped_refptr<ProxyResolverScriptData>& script_data, | 53 const scoped_refptr<ProxyResolverScriptData>& script_data, |
54 OldCompletionCallback* callback); | 54 const net::CompletionCallback& callback); |
55 ~SetPacScriptRequest(); | 55 ~SetPacScriptRequest(); |
56 | 56 |
57 const ProxyResolverScriptData* script_data() const { return script_data_; } | 57 const ProxyResolverScriptData* script_data() const { return script_data_; } |
58 | 58 |
59 void CompleteNow(int rv); | 59 void CompleteNow(int rv); |
60 | 60 |
61 private: | 61 private: |
62 MockAsyncProxyResolverBase* resolver_; | 62 MockAsyncProxyResolverBase* resolver_; |
63 const scoped_refptr<ProxyResolverScriptData> script_data_; | 63 const scoped_refptr<ProxyResolverScriptData> script_data_; |
64 OldCompletionCallback* callback_; | 64 net::CompletionCallback callback_; |
65 MessageLoop* origin_loop_; | 65 MessageLoop* origin_loop_; |
66 }; | 66 }; |
67 | 67 |
68 typedef std::vector<scoped_refptr<Request> > RequestsList; | 68 typedef std::vector<scoped_refptr<Request> > RequestsList; |
69 | 69 |
70 virtual ~MockAsyncProxyResolverBase(); | 70 virtual ~MockAsyncProxyResolverBase(); |
71 | 71 |
72 // ProxyResolver implementation: | 72 // ProxyResolver implementation. |
73 virtual int GetProxyForURL(const GURL& url, | 73 virtual int GetProxyForURL(const GURL& url, |
74 ProxyInfo* results, | 74 ProxyInfo* results, |
75 OldCompletionCallback* callback, | 75 const net::CompletionCallback& callback, |
76 RequestHandle* request_handle, | 76 RequestHandle* request_handle, |
77 const BoundNetLog& /*net_log*/) OVERRIDE; | 77 const BoundNetLog& /*net_log*/) OVERRIDE; |
78 virtual void CancelRequest(RequestHandle request_handle) OVERRIDE; | 78 virtual void CancelRequest(RequestHandle request_handle) OVERRIDE; |
79 virtual LoadState GetLoadState(RequestHandle request_handle) const OVERRIDE; | 79 virtual LoadState GetLoadState(RequestHandle request_handle) const OVERRIDE; |
80 virtual LoadState GetLoadStateThreadSafe( | 80 virtual LoadState GetLoadStateThreadSafe( |
81 RequestHandle request_handle) const OVERRIDE; | 81 RequestHandle request_handle) const OVERRIDE; |
82 virtual int SetPacScript( | 82 virtual int SetPacScript( |
83 const scoped_refptr<ProxyResolverScriptData>& script_data, | 83 const scoped_refptr<ProxyResolverScriptData>& script_data, |
84 OldCompletionCallback* callback) OVERRIDE; | 84 const net::CompletionCallback& callback) OVERRIDE; |
85 virtual void CancelSetPacScript() OVERRIDE; | 85 virtual void CancelSetPacScript() OVERRIDE; |
86 | 86 |
87 const RequestsList& pending_requests() const { | 87 const RequestsList& pending_requests() const { |
88 return pending_requests_; | 88 return pending_requests_; |
89 } | 89 } |
90 | 90 |
91 const RequestsList& cancelled_requests() const { | 91 const RequestsList& cancelled_requests() const { |
92 return cancelled_requests_; | 92 return cancelled_requests_; |
93 } | 93 } |
94 | 94 |
(...skipping 20 matching lines...) Expand all Loading... |
115 | 115 |
116 class MockAsyncProxyResolverExpectsBytes : public MockAsyncProxyResolverBase { | 116 class MockAsyncProxyResolverExpectsBytes : public MockAsyncProxyResolverBase { |
117 public: | 117 public: |
118 MockAsyncProxyResolverExpectsBytes() | 118 MockAsyncProxyResolverExpectsBytes() |
119 : MockAsyncProxyResolverBase(true /*expects_pac_bytes*/) {} | 119 : MockAsyncProxyResolverBase(true /*expects_pac_bytes*/) {} |
120 }; | 120 }; |
121 | 121 |
122 } // namespace net | 122 } // namespace net |
123 | 123 |
124 #endif // NET_PROXY_MOCK_PROXY_RESOLVER_H_ | 124 #endif // NET_PROXY_MOCK_PROXY_RESOLVER_H_ |
OLD | NEW |