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

Side by Side Diff: net/url_request/url_request_test_util.h

Issue 9572001: Do cookie checks in NetworkDelegate instead of the URLRequest::Delegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: patch for landing 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/url_request/url_request.cc ('k') | net/url_request/url_request_test_util.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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_ 5 #ifndef NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_
6 #define NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_ 6 #define NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_
7 #pragma once 7 #pragma once
8 8
9 #include <stdlib.h> 9 #include <stdlib.h>
10 10
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 class TestURLRequest : public net::URLRequest { 102 class TestURLRequest : public net::URLRequest {
103 public: 103 public:
104 TestURLRequest(const GURL& url, Delegate* delegate); 104 TestURLRequest(const GURL& url, Delegate* delegate);
105 virtual ~TestURLRequest(); 105 virtual ~TestURLRequest();
106 }; 106 };
107 107
108 //----------------------------------------------------------------------------- 108 //-----------------------------------------------------------------------------
109 109
110 class TestDelegate : public net::URLRequest::Delegate { 110 class TestDelegate : public net::URLRequest::Delegate {
111 public: 111 public:
112 enum Options {
113 NO_GET_COOKIES = 1 << 0,
114 NO_SET_COOKIE = 1 << 1,
115 FORCE_SESSION = 1 << 2,
116 };
117
118 TestDelegate(); 112 TestDelegate();
119 virtual ~TestDelegate(); 113 virtual ~TestDelegate();
120 114
121 void set_cancel_in_received_redirect(bool val) { cancel_in_rr_ = val; } 115 void set_cancel_in_received_redirect(bool val) { cancel_in_rr_ = val; }
122 void set_cancel_in_response_started(bool val) { cancel_in_rs_ = val; } 116 void set_cancel_in_response_started(bool val) { cancel_in_rs_ = val; }
123 void set_cancel_in_received_data(bool val) { cancel_in_rd_ = val; } 117 void set_cancel_in_received_data(bool val) { cancel_in_rd_ = val; }
124 void set_cancel_in_received_data_pending(bool val) { 118 void set_cancel_in_received_data_pending(bool val) {
125 cancel_in_rd_pending_ = val; 119 cancel_in_rd_pending_ = val;
126 } 120 }
127 void set_quit_on_complete(bool val) { quit_on_complete_ = val; } 121 void set_quit_on_complete(bool val) { quit_on_complete_ = val; }
128 void set_quit_on_redirect(bool val) { quit_on_redirect_ = val; } 122 void set_quit_on_redirect(bool val) { quit_on_redirect_ = val; }
129 void set_allow_certificate_errors(bool val) { 123 void set_allow_certificate_errors(bool val) {
130 allow_certificate_errors_ = val; 124 allow_certificate_errors_ = val;
131 } 125 }
132 void set_cookie_options(int o) {cookie_options_bit_mask_ = o; }
133 void set_credentials(const net::AuthCredentials& credentials) { 126 void set_credentials(const net::AuthCredentials& credentials) {
134 credentials_ = credentials; 127 credentials_ = credentials;
135 } 128 }
136 129
137 // query state 130 // query state
138 const std::string& data_received() const { return data_received_; } 131 const std::string& data_received() const { return data_received_; }
139 int bytes_received() const { return static_cast<int>(data_received_.size()); } 132 int bytes_received() const { return static_cast<int>(data_received_.size()); }
140 int response_started_count() const { return response_started_count_; } 133 int response_started_count() const { return response_started_count_; }
141 int received_redirect_count() const { return received_redirect_count_; } 134 int received_redirect_count() const { return received_redirect_count_; }
142 int blocked_get_cookies_count() const { return blocked_get_cookies_count_; }
143 int blocked_set_cookie_count() const { return blocked_set_cookie_count_; }
144 int set_cookie_count() const { return set_cookie_count_; }
145 bool received_data_before_response() const { 135 bool received_data_before_response() const {
146 return received_data_before_response_; 136 return received_data_before_response_;
147 } 137 }
148 bool request_failed() const { return request_failed_; } 138 bool request_failed() const { return request_failed_; }
149 bool have_certificate_errors() const { return have_certificate_errors_; } 139 bool have_certificate_errors() const { return have_certificate_errors_; }
150 bool certificate_errors_are_fatal() const { 140 bool certificate_errors_are_fatal() const {
151 return certificate_errors_are_fatal_; 141 return certificate_errors_are_fatal_;
152 } 142 }
153 bool auth_required_called() const { return auth_required_; } 143 bool auth_required_called() const { return auth_required_; }
154 144
155 // net::URLRequest::Delegate: 145 // net::URLRequest::Delegate:
156 virtual void OnReceivedRedirect(net::URLRequest* request, const GURL& new_url, 146 virtual void OnReceivedRedirect(net::URLRequest* request, const GURL& new_url,
157 bool* defer_redirect) OVERRIDE; 147 bool* defer_redirect) OVERRIDE;
158 virtual void OnAuthRequired(net::URLRequest* request, 148 virtual void OnAuthRequired(net::URLRequest* request,
159 net::AuthChallengeInfo* auth_info) OVERRIDE; 149 net::AuthChallengeInfo* auth_info) OVERRIDE;
160 // NOTE: |fatal| causes |certificate_errors_are_fatal_| to be set to true. 150 // NOTE: |fatal| causes |certificate_errors_are_fatal_| to be set to true.
161 // (Unit tests use this as a post-condition.) But for policy, this method 151 // (Unit tests use this as a post-condition.) But for policy, this method
162 // consults |allow_certificate_errors_|. 152 // consults |allow_certificate_errors_|.
163 virtual void OnSSLCertificateError(net::URLRequest* request, 153 virtual void OnSSLCertificateError(net::URLRequest* request,
164 const net::SSLInfo& ssl_info, 154 const net::SSLInfo& ssl_info,
165 bool fatal) OVERRIDE; 155 bool fatal) OVERRIDE;
166 virtual bool CanGetCookies(const net::URLRequest* request,
167 const net::CookieList& cookie_list) const OVERRIDE;
168 virtual bool CanSetCookie(const net::URLRequest* request,
169 const std::string& cookie_line,
170 net::CookieOptions* options) const OVERRIDE;
171 virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE; 156 virtual void OnResponseStarted(net::URLRequest* request) OVERRIDE;
172 virtual void OnReadCompleted(net::URLRequest* request, 157 virtual void OnReadCompleted(net::URLRequest* request,
173 int bytes_read) OVERRIDE; 158 int bytes_read) OVERRIDE;
174 159
175 private: 160 private:
176 static const int kBufferSize = 4096; 161 static const int kBufferSize = 4096;
177 162
178 virtual void OnResponseCompleted(net::URLRequest* request); 163 virtual void OnResponseCompleted(net::URLRequest* request);
179 164
180 // options for controlling behavior 165 // options for controlling behavior
181 bool cancel_in_rr_; 166 bool cancel_in_rr_;
182 bool cancel_in_rs_; 167 bool cancel_in_rs_;
183 bool cancel_in_rd_; 168 bool cancel_in_rd_;
184 bool cancel_in_rd_pending_; 169 bool cancel_in_rd_pending_;
185 bool quit_on_complete_; 170 bool quit_on_complete_;
186 bool quit_on_redirect_; 171 bool quit_on_redirect_;
187 bool allow_certificate_errors_; 172 bool allow_certificate_errors_;
188 int cookie_options_bit_mask_;
189 net::AuthCredentials credentials_; 173 net::AuthCredentials credentials_;
190 174
191 // tracks status of callbacks 175 // tracks status of callbacks
192 int response_started_count_; 176 int response_started_count_;
193 int received_bytes_count_; 177 int received_bytes_count_;
194 int received_redirect_count_; 178 int received_redirect_count_;
195 mutable int blocked_get_cookies_count_;
196 mutable int blocked_set_cookie_count_;
197 mutable int set_cookie_count_;
198 bool received_data_before_response_; 179 bool received_data_before_response_;
199 bool request_failed_; 180 bool request_failed_;
200 bool have_certificate_errors_; 181 bool have_certificate_errors_;
201 bool certificate_errors_are_fatal_; 182 bool certificate_errors_are_fatal_;
202 bool auth_required_; 183 bool auth_required_;
203 std::string data_received_; 184 std::string data_received_;
204 185
205 // our read buffer 186 // our read buffer
206 scoped_refptr<net::IOBuffer> buf_; 187 scoped_refptr<net::IOBuffer> buf_;
207 }; 188 };
208 189
209 //----------------------------------------------------------------------------- 190 //-----------------------------------------------------------------------------
210 191
211 class TestNetworkDelegate : public net::NetworkDelegate { 192 class TestNetworkDelegate : public net::NetworkDelegate {
212 public: 193 public:
194 enum Options {
195 NO_GET_COOKIES = 1 << 0,
196 NO_SET_COOKIE = 1 << 1,
197 FORCE_SESSION = 1 << 2,
198 };
199
213 TestNetworkDelegate(); 200 TestNetworkDelegate();
214 virtual ~TestNetworkDelegate(); 201 virtual ~TestNetworkDelegate();
215 202
203 void set_cookie_options(int o) {cookie_options_bit_mask_ = o; }
204
216 int last_error() const { return last_error_; } 205 int last_error() const { return last_error_; }
217 int error_count() const { return error_count_; } 206 int error_count() const { return error_count_; }
218 int created_requests() const { return created_requests_; } 207 int created_requests() const { return created_requests_; }
219 int destroyed_requests() const { return destroyed_requests_; } 208 int destroyed_requests() const { return destroyed_requests_; }
220 int completed_requests() const { return completed_requests_; } 209 int completed_requests() const { return completed_requests_; }
210 int blocked_get_cookies_count() const { return blocked_get_cookies_count_; }
211 int blocked_set_cookie_count() const { return blocked_set_cookie_count_; }
212 int set_cookie_count() const { return set_cookie_count_; }
221 213
222 protected: 214 protected:
223 // net::NetworkDelegate: 215 // net::NetworkDelegate:
224 virtual int OnBeforeURLRequest(net::URLRequest* request, 216 virtual int OnBeforeURLRequest(net::URLRequest* request,
225 const net::CompletionCallback& callback, 217 const net::CompletionCallback& callback,
226 GURL* new_url) OVERRIDE; 218 GURL* new_url) OVERRIDE;
227 virtual int OnBeforeSendHeaders(net::URLRequest* request, 219 virtual int OnBeforeSendHeaders(net::URLRequest* request,
228 const net::CompletionCallback& callback, 220 const net::CompletionCallback& callback,
229 net::HttpRequestHeaders* headers) OVERRIDE; 221 net::HttpRequestHeaders* headers) OVERRIDE;
230 virtual void OnSendHeaders(net::URLRequest* request, 222 virtual void OnSendHeaders(net::URLRequest* request,
(...skipping 11 matching lines...) Expand all
242 int bytes_read) OVERRIDE; 234 int bytes_read) OVERRIDE;
243 virtual void OnCompleted(net::URLRequest* request, bool started) OVERRIDE; 235 virtual void OnCompleted(net::URLRequest* request, bool started) OVERRIDE;
244 virtual void OnURLRequestDestroyed(net::URLRequest* request) OVERRIDE; 236 virtual void OnURLRequestDestroyed(net::URLRequest* request) OVERRIDE;
245 virtual void OnPACScriptError(int line_number, 237 virtual void OnPACScriptError(int line_number,
246 const string16& error) OVERRIDE; 238 const string16& error) OVERRIDE;
247 virtual net::NetworkDelegate::AuthRequiredResponse OnAuthRequired( 239 virtual net::NetworkDelegate::AuthRequiredResponse OnAuthRequired(
248 net::URLRequest* request, 240 net::URLRequest* request,
249 const net::AuthChallengeInfo& auth_info, 241 const net::AuthChallengeInfo& auth_info,
250 const AuthCallback& callback, 242 const AuthCallback& callback,
251 net::AuthCredentials* credentials) OVERRIDE; 243 net::AuthCredentials* credentials) OVERRIDE;
244 virtual bool CanGetCookies(const net::URLRequest* request,
245 const net::CookieList& cookie_list) OVERRIDE;
246 virtual bool CanSetCookie(const net::URLRequest* request,
247 const std::string& cookie_line,
248 net::CookieOptions* options) OVERRIDE;
252 249
253 void InitRequestStatesIfNew(int request_id); 250 void InitRequestStatesIfNew(int request_id);
254 251
255 int last_error_; 252 int last_error_;
256 int error_count_; 253 int error_count_;
257 int created_requests_; 254 int created_requests_;
258 int destroyed_requests_; 255 int destroyed_requests_;
259 int completed_requests_; 256 int completed_requests_;
257 int cookie_options_bit_mask_;
258 int blocked_get_cookies_count_;
259 int blocked_set_cookie_count_;
260 int set_cookie_count_;
260 261
261 // net::NetworkDelegate callbacks happen in a particular order (e.g. 262 // net::NetworkDelegate callbacks happen in a particular order (e.g.
262 // OnBeforeURLRequest is always called before OnBeforeSendHeaders). 263 // OnBeforeURLRequest is always called before OnBeforeSendHeaders).
263 // This bit-set indicates for each request id (key) what events may be sent 264 // This bit-set indicates for each request id (key) what events may be sent
264 // next. 265 // next.
265 std::map<int, int> next_states_; 266 std::map<int, int> next_states_;
266 267
267 // A log that records for each request id (key) the order in which On... 268 // A log that records for each request id (key) the order in which On...
268 // functions were called. 269 // functions were called.
269 std::map<int, std::string> event_order_; 270 std::map<int, std::string> event_order_;
(...skipping 18 matching lines...) Expand all
288 289
289 private: 290 private:
290 static std::string value_; 291 static std::string value_;
291 const std::string old_value_; 292 const std::string old_value_;
292 const std::string new_value_; 293 const std::string new_value_;
293 294
294 DISALLOW_COPY_AND_ASSIGN(ScopedCustomUrlRequestTestHttpHost); 295 DISALLOW_COPY_AND_ASSIGN(ScopedCustomUrlRequestTestHttpHost);
295 }; 296 };
296 297
297 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_ 298 #endif // NET_URL_REQUEST_URL_REQUEST_TEST_UTIL_H_
OLDNEW
« no previous file with comments | « net/url_request/url_request.cc ('k') | net/url_request/url_request_test_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698