| OLD | NEW |
| 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 #include "net/base/network_delegate.h" | 5 #include "net/base/network_delegate.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/profiler/scoped_tracker.h" |
| 8 #include "net/base/load_flags.h" | 9 #include "net/base/load_flags.h" |
| 9 #include "net/base/net_errors.h" | 10 #include "net/base/net_errors.h" |
| 10 #include "net/proxy/proxy_info.h" | 11 #include "net/proxy/proxy_info.h" |
| 11 #include "net/url_request/url_request.h" | 12 #include "net/url_request/url_request.h" |
| 12 | 13 |
| 13 namespace net { | 14 namespace net { |
| 14 | 15 |
| 15 int NetworkDelegate::NotifyBeforeURLRequest( | 16 int NetworkDelegate::NotifyBeforeURLRequest( |
| 16 URLRequest* request, const CompletionCallback& callback, | 17 URLRequest* request, const CompletionCallback& callback, |
| 17 GURL* new_url) { | 18 GURL* new_url) { |
| 18 DCHECK(CalledOnValidThread()); | 19 DCHECK(CalledOnValidThread()); |
| 19 DCHECK(request); | 20 DCHECK(request); |
| 20 DCHECK(!callback.is_null()); | 21 DCHECK(!callback.is_null()); |
| 22 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 23 tracked_objects::ScopedTracker tracking_profile( |
| 24 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 25 "423948 NetworkDelegate::OnBeforeURLRequest")); |
| 21 return OnBeforeURLRequest(request, callback, new_url); | 26 return OnBeforeURLRequest(request, callback, new_url); |
| 22 } | 27 } |
| 23 | 28 |
| 24 void NetworkDelegate::NotifyResolveProxy( | 29 void NetworkDelegate::NotifyResolveProxy( |
| 25 const GURL& url, | 30 const GURL& url, |
| 26 int load_flags, | 31 int load_flags, |
| 27 const ProxyService& proxy_service, | 32 const ProxyService& proxy_service, |
| 28 ProxyInfo* result) { | 33 ProxyInfo* result) { |
| 29 DCHECK(CalledOnValidThread()); | 34 DCHECK(CalledOnValidThread()); |
| 30 DCHECK(result); | 35 DCHECK(result); |
| 36 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 37 tracked_objects::ScopedTracker tracking_profile( |
| 38 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 39 "423948 NetworkDelegate::OnResolveProxy")); |
| 31 OnResolveProxy(url, load_flags, proxy_service, result); | 40 OnResolveProxy(url, load_flags, proxy_service, result); |
| 32 } | 41 } |
| 33 | 42 |
| 34 void NetworkDelegate::NotifyProxyFallback( | 43 void NetworkDelegate::NotifyProxyFallback( |
| 35 const ProxyServer& bad_proxy, | 44 const ProxyServer& bad_proxy, |
| 36 int net_error) { | 45 int net_error) { |
| 37 DCHECK(CalledOnValidThread()); | 46 DCHECK(CalledOnValidThread()); |
| 47 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 48 tracked_objects::ScopedTracker tracking_profile( |
| 49 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 50 "423948 NetworkDelegate::OnProxyFallback")); |
| 38 OnProxyFallback(bad_proxy, net_error); | 51 OnProxyFallback(bad_proxy, net_error); |
| 39 } | 52 } |
| 40 | 53 |
| 41 int NetworkDelegate::NotifyBeforeSendHeaders( | 54 int NetworkDelegate::NotifyBeforeSendHeaders( |
| 42 URLRequest* request, const CompletionCallback& callback, | 55 URLRequest* request, const CompletionCallback& callback, |
| 43 HttpRequestHeaders* headers) { | 56 HttpRequestHeaders* headers) { |
| 44 DCHECK(CalledOnValidThread()); | 57 DCHECK(CalledOnValidThread()); |
| 45 DCHECK(headers); | 58 DCHECK(headers); |
| 46 DCHECK(!callback.is_null()); | 59 DCHECK(!callback.is_null()); |
| 60 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 61 tracked_objects::ScopedTracker tracking_profile( |
| 62 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 63 "423948 NetworkDelegate::OnBeforeSendHeaders")); |
| 47 return OnBeforeSendHeaders(request, callback, headers); | 64 return OnBeforeSendHeaders(request, callback, headers); |
| 48 } | 65 } |
| 49 | 66 |
| 50 void NetworkDelegate::NotifyBeforeSendProxyHeaders( | 67 void NetworkDelegate::NotifyBeforeSendProxyHeaders( |
| 51 URLRequest* request, | 68 URLRequest* request, |
| 52 const ProxyInfo& proxy_info, | 69 const ProxyInfo& proxy_info, |
| 53 HttpRequestHeaders* headers) { | 70 HttpRequestHeaders* headers) { |
| 54 DCHECK(CalledOnValidThread()); | 71 DCHECK(CalledOnValidThread()); |
| 55 DCHECK(headers); | 72 DCHECK(headers); |
| 73 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 74 tracked_objects::ScopedTracker tracking_profile( |
| 75 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 76 "423948 NetworkDelegate::OnBeforeSendProxyHeaders")); |
| 56 OnBeforeSendProxyHeaders(request, proxy_info, headers); | 77 OnBeforeSendProxyHeaders(request, proxy_info, headers); |
| 57 } | 78 } |
| 58 | 79 |
| 59 void NetworkDelegate::NotifySendHeaders(URLRequest* request, | 80 void NetworkDelegate::NotifySendHeaders(URLRequest* request, |
| 60 const HttpRequestHeaders& headers) { | 81 const HttpRequestHeaders& headers) { |
| 61 DCHECK(CalledOnValidThread()); | 82 DCHECK(CalledOnValidThread()); |
| 83 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 84 tracked_objects::ScopedTracker tracking_profile( |
| 85 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 86 "423948 NetworkDelegate::OnSendHeaders")); |
| 62 OnSendHeaders(request, headers); | 87 OnSendHeaders(request, headers); |
| 63 } | 88 } |
| 64 | 89 |
| 65 int NetworkDelegate::NotifyHeadersReceived( | 90 int NetworkDelegate::NotifyHeadersReceived( |
| 66 URLRequest* request, | 91 URLRequest* request, |
| 67 const CompletionCallback& callback, | 92 const CompletionCallback& callback, |
| 68 const HttpResponseHeaders* original_response_headers, | 93 const HttpResponseHeaders* original_response_headers, |
| 69 scoped_refptr<HttpResponseHeaders>* override_response_headers, | 94 scoped_refptr<HttpResponseHeaders>* override_response_headers, |
| 70 GURL* allowed_unsafe_redirect_url) { | 95 GURL* allowed_unsafe_redirect_url) { |
| 71 DCHECK(CalledOnValidThread()); | 96 DCHECK(CalledOnValidThread()); |
| 72 DCHECK(original_response_headers); | 97 DCHECK(original_response_headers); |
| 73 DCHECK(!callback.is_null()); | 98 DCHECK(!callback.is_null()); |
| 99 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 100 tracked_objects::ScopedTracker tracking_profile( |
| 101 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 102 "423948 NetworkDelegate::OnHeadersReceived")); |
| 74 return OnHeadersReceived(request, | 103 return OnHeadersReceived(request, |
| 75 callback, | 104 callback, |
| 76 original_response_headers, | 105 original_response_headers, |
| 77 override_response_headers, | 106 override_response_headers, |
| 78 allowed_unsafe_redirect_url); | 107 allowed_unsafe_redirect_url); |
| 79 } | 108 } |
| 80 | 109 |
| 81 void NetworkDelegate::NotifyResponseStarted(URLRequest* request) { | 110 void NetworkDelegate::NotifyResponseStarted(URLRequest* request) { |
| 82 DCHECK(CalledOnValidThread()); | 111 DCHECK(CalledOnValidThread()); |
| 83 DCHECK(request); | 112 DCHECK(request); |
| 113 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 114 tracked_objects::ScopedTracker tracking_profile( |
| 115 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 116 "423948 NetworkDelegate::OnResponseStarted")); |
| 84 OnResponseStarted(request); | 117 OnResponseStarted(request); |
| 85 } | 118 } |
| 86 | 119 |
| 87 void NetworkDelegate::NotifyRawBytesRead(const URLRequest& request, | 120 void NetworkDelegate::NotifyRawBytesRead(const URLRequest& request, |
| 88 int bytes_read) { | 121 int bytes_read) { |
| 89 DCHECK(CalledOnValidThread()); | 122 DCHECK(CalledOnValidThread()); |
| 123 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 124 tracked_objects::ScopedTracker tracking_profile( |
| 125 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 126 "423948 NetworkDelegate::OnRawBytesRead")); |
| 90 OnRawBytesRead(request, bytes_read); | 127 OnRawBytesRead(request, bytes_read); |
| 91 } | 128 } |
| 92 | 129 |
| 93 void NetworkDelegate::NotifyBeforeRedirect(URLRequest* request, | 130 void NetworkDelegate::NotifyBeforeRedirect(URLRequest* request, |
| 94 const GURL& new_location) { | 131 const GURL& new_location) { |
| 95 DCHECK(CalledOnValidThread()); | 132 DCHECK(CalledOnValidThread()); |
| 96 DCHECK(request); | 133 DCHECK(request); |
| 134 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 135 tracked_objects::ScopedTracker tracking_profile( |
| 136 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 137 "423948 NetworkDelegate::OnBeforeRedirect")); |
| 97 OnBeforeRedirect(request, new_location); | 138 OnBeforeRedirect(request, new_location); |
| 98 } | 139 } |
| 99 | 140 |
| 100 void NetworkDelegate::NotifyCompleted(URLRequest* request, bool started) { | 141 void NetworkDelegate::NotifyCompleted(URLRequest* request, bool started) { |
| 101 DCHECK(CalledOnValidThread()); | 142 DCHECK(CalledOnValidThread()); |
| 102 DCHECK(request); | 143 DCHECK(request); |
| 144 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 145 tracked_objects::ScopedTracker tracking_profile( |
| 146 FROM_HERE_WITH_EXPLICIT_FUNCTION("423948 NetworkDelegate::OnCompleted")); |
| 103 OnCompleted(request, started); | 147 OnCompleted(request, started); |
| 104 } | 148 } |
| 105 | 149 |
| 106 void NetworkDelegate::NotifyURLRequestDestroyed(URLRequest* request) { | 150 void NetworkDelegate::NotifyURLRequestDestroyed(URLRequest* request) { |
| 107 DCHECK(CalledOnValidThread()); | 151 DCHECK(CalledOnValidThread()); |
| 108 DCHECK(request); | 152 DCHECK(request); |
| 153 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 154 tracked_objects::ScopedTracker tracking_profile( |
| 155 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 156 "423948 NetworkDelegate::OnURLRequestDestroyed")); |
| 109 OnURLRequestDestroyed(request); | 157 OnURLRequestDestroyed(request); |
| 110 } | 158 } |
| 111 | 159 |
| 112 void NetworkDelegate::NotifyPACScriptError(int line_number, | 160 void NetworkDelegate::NotifyPACScriptError(int line_number, |
| 113 const base::string16& error) { | 161 const base::string16& error) { |
| 114 DCHECK(CalledOnValidThread()); | 162 DCHECK(CalledOnValidThread()); |
| 163 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 164 tracked_objects::ScopedTracker tracking_profile( |
| 165 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 166 "423948 NetworkDelegate::OnPACScriptError")); |
| 115 OnPACScriptError(line_number, error); | 167 OnPACScriptError(line_number, error); |
| 116 } | 168 } |
| 117 | 169 |
| 118 NetworkDelegate::AuthRequiredResponse NetworkDelegate::NotifyAuthRequired( | 170 NetworkDelegate::AuthRequiredResponse NetworkDelegate::NotifyAuthRequired( |
| 119 URLRequest* request, | 171 URLRequest* request, |
| 120 const AuthChallengeInfo& auth_info, | 172 const AuthChallengeInfo& auth_info, |
| 121 const AuthCallback& callback, | 173 const AuthCallback& callback, |
| 122 AuthCredentials* credentials) { | 174 AuthCredentials* credentials) { |
| 123 DCHECK(CalledOnValidThread()); | 175 DCHECK(CalledOnValidThread()); |
| 124 return OnAuthRequired(request, auth_info, callback, credentials); | 176 return OnAuthRequired(request, auth_info, callback, credentials); |
| 125 } | 177 } |
| 126 | 178 |
| 127 int NetworkDelegate::NotifyBeforeSocketStreamConnect( | 179 int NetworkDelegate::NotifyBeforeSocketStreamConnect( |
| 128 SocketStream* socket, | 180 SocketStream* socket, |
| 129 const CompletionCallback& callback) { | 181 const CompletionCallback& callback) { |
| 130 DCHECK(CalledOnValidThread()); | 182 DCHECK(CalledOnValidThread()); |
| 131 DCHECK(socket); | 183 DCHECK(socket); |
| 132 DCHECK(!callback.is_null()); | 184 DCHECK(!callback.is_null()); |
| 185 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 186 tracked_objects::ScopedTracker tracking_profile( |
| 187 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 188 "423948 NetworkDelegate::OnBeforeSocketStreamConnect")); |
| 133 return OnBeforeSocketStreamConnect(socket, callback); | 189 return OnBeforeSocketStreamConnect(socket, callback); |
| 134 } | 190 } |
| 135 | 191 |
| 136 bool NetworkDelegate::CanGetCookies(const URLRequest& request, | 192 bool NetworkDelegate::CanGetCookies(const URLRequest& request, |
| 137 const CookieList& cookie_list) { | 193 const CookieList& cookie_list) { |
| 138 DCHECK(CalledOnValidThread()); | 194 DCHECK(CalledOnValidThread()); |
| 139 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SEND_COOKIES)); | 195 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SEND_COOKIES)); |
| 196 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 197 tracked_objects::ScopedTracker tracking_profile( |
| 198 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 199 "423948 NetworkDelegate::OnCanGetCookies")); |
| 140 return OnCanGetCookies(request, cookie_list); | 200 return OnCanGetCookies(request, cookie_list); |
| 141 } | 201 } |
| 142 | 202 |
| 143 bool NetworkDelegate::CanSetCookie(const URLRequest& request, | 203 bool NetworkDelegate::CanSetCookie(const URLRequest& request, |
| 144 const std::string& cookie_line, | 204 const std::string& cookie_line, |
| 145 CookieOptions* options) { | 205 CookieOptions* options) { |
| 146 DCHECK(CalledOnValidThread()); | 206 DCHECK(CalledOnValidThread()); |
| 147 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SAVE_COOKIES)); | 207 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SAVE_COOKIES)); |
| 208 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 209 tracked_objects::ScopedTracker tracking_profile( |
| 210 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 211 "423948 NetworkDelegate::OnCanSetCookie")); |
| 148 return OnCanSetCookie(request, cookie_line, options); | 212 return OnCanSetCookie(request, cookie_line, options); |
| 149 } | 213 } |
| 150 | 214 |
| 151 bool NetworkDelegate::CanAccessFile(const URLRequest& request, | 215 bool NetworkDelegate::CanAccessFile(const URLRequest& request, |
| 152 const base::FilePath& path) const { | 216 const base::FilePath& path) const { |
| 153 DCHECK(CalledOnValidThread()); | 217 DCHECK(CalledOnValidThread()); |
| 218 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 219 tracked_objects::ScopedTracker tracking_profile( |
| 220 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 221 "423948 NetworkDelegate::OnCanAccessFile")); |
| 154 return OnCanAccessFile(request, path); | 222 return OnCanAccessFile(request, path); |
| 155 } | 223 } |
| 156 | 224 |
| 157 bool NetworkDelegate::CanThrottleRequest(const URLRequest& request) const { | 225 bool NetworkDelegate::CanThrottleRequest(const URLRequest& request) const { |
| 158 DCHECK(CalledOnValidThread()); | 226 DCHECK(CalledOnValidThread()); |
| 227 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 228 tracked_objects::ScopedTracker tracking_profile( |
| 229 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 230 "423948 NetworkDelegate::OnCanThrottleRequest")); |
| 159 return OnCanThrottleRequest(request); | 231 return OnCanThrottleRequest(request); |
| 160 } | 232 } |
| 161 | 233 |
| 162 bool NetworkDelegate::CanEnablePrivacyMode( | 234 bool NetworkDelegate::CanEnablePrivacyMode( |
| 163 const GURL& url, | 235 const GURL& url, |
| 164 const GURL& first_party_for_cookies) const { | 236 const GURL& first_party_for_cookies) const { |
| 165 DCHECK(CalledOnValidThread()); | 237 DCHECK(CalledOnValidThread()); |
| 238 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 239 tracked_objects::ScopedTracker tracking_profile( |
| 240 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 241 "423948 NetworkDelegate::OnCanEnablePrivacyMode")); |
| 166 return OnCanEnablePrivacyMode(url, first_party_for_cookies); | 242 return OnCanEnablePrivacyMode(url, first_party_for_cookies); |
| 167 } | 243 } |
| 168 | 244 |
| 169 bool NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader( | 245 bool NetworkDelegate::CancelURLRequestWithPolicyViolatingReferrerHeader( |
| 170 const URLRequest& request, | 246 const URLRequest& request, |
| 171 const GURL& target_url, | 247 const GURL& target_url, |
| 172 const GURL& referrer_url) const { | 248 const GURL& referrer_url) const { |
| 173 DCHECK(CalledOnValidThread()); | 249 DCHECK(CalledOnValidThread()); |
| 250 // TODO(vadimt): Remove ScopedTracker below once crbug.com/423948 is fixed. |
| 251 tracked_objects::ScopedTracker tracking_profile( |
| 252 FROM_HERE_WITH_EXPLICIT_FUNCTION( |
| 253 "423948 NetworkDelegate::OnCancelURLRequestWithPolicy...")); |
| 174 return OnCancelURLRequestWithPolicyViolatingReferrerHeader( | 254 return OnCancelURLRequestWithPolicyViolatingReferrerHeader( |
| 175 request, target_url, referrer_url); | 255 request, target_url, referrer_url); |
| 176 } | 256 } |
| 177 | 257 |
| 178 int NetworkDelegate::OnBeforeURLRequest(URLRequest* request, | 258 int NetworkDelegate::OnBeforeURLRequest(URLRequest* request, |
| 179 const CompletionCallback& callback, | 259 const CompletionCallback& callback, |
| 180 GURL* new_url) { | 260 GURL* new_url) { |
| 181 return OK; | 261 return OK; |
| 182 } | 262 } |
| 183 | 263 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 } | 359 } |
| 280 | 360 |
| 281 bool NetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( | 361 bool NetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( |
| 282 const URLRequest& request, | 362 const URLRequest& request, |
| 283 const GURL& target_url, | 363 const GURL& target_url, |
| 284 const GURL& referrer_url) const { | 364 const GURL& referrer_url) const { |
| 285 return false; | 365 return false; |
| 286 } | 366 } |
| 287 | 367 |
| 288 } // namespace net | 368 } // namespace net |
| OLD | NEW |