network_delegate.cc revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
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 3// found in the LICENSE file. 4 5#include "net/base/network_delegate.h" 6 7#include "base/logging.h" 8#include "net/base/load_flags.h" 9#include "net/url_request/url_request.h" 10 11namespace net { 12 13int NetworkDelegate::NotifyBeforeURLRequest( 14 URLRequest* request, const CompletionCallback& callback, 15 GURL* new_url) { 16 DCHECK(CalledOnValidThread()); 17 DCHECK(request); 18 DCHECK(!callback.is_null()); 19 return OnBeforeURLRequest(request, callback, new_url); 20} 21 22int NetworkDelegate::NotifyBeforeSendHeaders( 23 URLRequest* request, const CompletionCallback& callback, 24 HttpRequestHeaders* headers) { 25 DCHECK(CalledOnValidThread()); 26 DCHECK(headers); 27 DCHECK(!callback.is_null()); 28 return OnBeforeSendHeaders(request, callback, headers); 29} 30 31void NetworkDelegate::NotifySendHeaders(URLRequest* request, 32 const HttpRequestHeaders& headers) { 33 DCHECK(CalledOnValidThread()); 34 OnSendHeaders(request, headers); 35} 36 37int NetworkDelegate::NotifyHeadersReceived( 38 URLRequest* request, 39 const CompletionCallback& callback, 40 const HttpResponseHeaders* original_response_headers, 41 scoped_refptr<HttpResponseHeaders>* override_response_headers) { 42 DCHECK(CalledOnValidThread()); 43 DCHECK(original_response_headers); 44 DCHECK(!callback.is_null()); 45 return OnHeadersReceived(request, callback, original_response_headers, 46 override_response_headers); 47} 48 49void NetworkDelegate::NotifyResponseStarted(URLRequest* request) { 50 DCHECK(CalledOnValidThread()); 51 DCHECK(request); 52 OnResponseStarted(request); 53} 54 55void NetworkDelegate::NotifyRawBytesRead(const URLRequest& request, 56 int bytes_read) { 57 DCHECK(CalledOnValidThread()); 58 OnRawBytesRead(request, bytes_read); 59} 60 61void NetworkDelegate::NotifyBeforeRedirect(URLRequest* request, 62 const GURL& new_location) { 63 DCHECK(CalledOnValidThread()); 64 DCHECK(request); 65 OnBeforeRedirect(request, new_location); 66} 67 68void NetworkDelegate::NotifyCompleted(URLRequest* request, bool started) { 69 DCHECK(CalledOnValidThread()); 70 DCHECK(request); 71 OnCompleted(request, started); 72} 73 74void NetworkDelegate::NotifyURLRequestDestroyed(URLRequest* request) { 75 DCHECK(CalledOnValidThread()); 76 DCHECK(request); 77 OnURLRequestDestroyed(request); 78} 79 80void NetworkDelegate::NotifyPACScriptError(int line_number, 81 const base::string16& error) { 82 DCHECK(CalledOnValidThread()); 83 OnPACScriptError(line_number, error); 84} 85 86NetworkDelegate::AuthRequiredResponse NetworkDelegate::NotifyAuthRequired( 87 URLRequest* request, 88 const AuthChallengeInfo& auth_info, 89 const AuthCallback& callback, 90 AuthCredentials* credentials) { 91 DCHECK(CalledOnValidThread()); 92 return OnAuthRequired(request, auth_info, callback, credentials); 93} 94 95bool NetworkDelegate::CanGetCookies(const URLRequest& request, 96 const CookieList& cookie_list) { 97 DCHECK(CalledOnValidThread()); 98 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SEND_COOKIES)); 99 return OnCanGetCookies(request, cookie_list); 100} 101 102bool NetworkDelegate::CanSetCookie(const URLRequest& request, 103 const std::string& cookie_line, 104 CookieOptions* options) { 105 DCHECK(CalledOnValidThread()); 106 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SAVE_COOKIES)); 107 return OnCanSetCookie(request, cookie_line, options); 108} 109 110bool NetworkDelegate::CanAccessFile(const URLRequest& request, 111 const base::FilePath& path) const { 112 DCHECK(CalledOnValidThread()); 113 return OnCanAccessFile(request, path); 114} 115 116bool NetworkDelegate::CanThrottleRequest(const URLRequest& request) const { 117 DCHECK(CalledOnValidThread()); 118 return OnCanThrottleRequest(request); 119} 120 121bool NetworkDelegate::CanEnablePrivacyMode( 122 const GURL& url, 123 const GURL& first_party_for_cookies) const { 124 DCHECK(CalledOnValidThread()); 125 return OnCanEnablePrivacyMode(url, first_party_for_cookies); 126} 127 128bool NetworkDelegate::OnCanEnablePrivacyMode( 129 const GURL& url, 130 const GURL& first_party_for_cookies) const { 131 // Default implementation disables privacy mode. 132 return false; 133} 134 135int NetworkDelegate::NotifyBeforeSocketStreamConnect( 136 SocketStream* socket, 137 const CompletionCallback& callback) { 138 DCHECK(CalledOnValidThread()); 139 DCHECK(socket); 140 DCHECK(!callback.is_null()); 141 return OnBeforeSocketStreamConnect(socket, callback); 142} 143 144void NetworkDelegate::NotifyRequestWaitStateChange(const URLRequest& request, 145 RequestWaitState state) { 146 DCHECK(CalledOnValidThread()); 147 OnRequestWaitStateChange(request, state); 148} 149 150} // namespace net 151