blob: 834769c84e170b73dadc30735964eb465772ff3e [file] [log] [blame]
[email protected]9045b8822012-01-13 20:35:351// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]0651b812011-02-24 00:22:502// 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"
[email protected]9c8ae8c2012-03-09 13:13:358#include "net/base/load_flags.h"
[email protected]c6c6e5652013-10-29 02:40:309#include "net/base/net_errors.h"
[email protected]9c8ae8c2012-03-09 13:13:3510#include "net/url_request/url_request.h"
[email protected]0651b812011-02-24 00:22:5011
12namespace net {
13
[email protected]084262c2011-12-01 21:12:4714int NetworkDelegate::NotifyBeforeURLRequest(
15 URLRequest* request, const CompletionCallback& callback,
16 GURL* new_url) {
[email protected]0651b812011-02-24 00:22:5017 DCHECK(CalledOnValidThread());
18 DCHECK(request);
[email protected]084262c2011-12-01 21:12:4719 DCHECK(!callback.is_null());
[email protected]4c76d7c2011-04-15 19:14:1220 return OnBeforeURLRequest(request, callback, new_url);
[email protected]0651b812011-02-24 00:22:5021}
22
[email protected]084262c2011-12-01 21:12:4723int NetworkDelegate::NotifyBeforeSendHeaders(
24 URLRequest* request, const CompletionCallback& callback,
25 HttpRequestHeaders* headers) {
[email protected]0651b812011-02-24 00:22:5026 DCHECK(CalledOnValidThread());
27 DCHECK(headers);
[email protected]084262c2011-12-01 21:12:4728 DCHECK(!callback.is_null());
[email protected]636eccd2011-06-28 12:28:0129 return OnBeforeSendHeaders(request, callback, headers);
[email protected]0651b812011-02-24 00:22:5030}
31
[email protected]5796dc942011-07-14 19:26:1032void NetworkDelegate::NotifySendHeaders(URLRequest* request,
33 const HttpRequestHeaders& headers) {
[email protected]82b42302011-04-20 16:28:1634 DCHECK(CalledOnValidThread());
[email protected]5796dc942011-07-14 19:26:1035 OnSendHeaders(request, headers);
[email protected]82b42302011-04-20 16:28:1636}
37
[email protected]ea8141e2011-10-05 13:12:5138int NetworkDelegate::NotifyHeadersReceived(
39 URLRequest* request,
[email protected]084262c2011-12-01 21:12:4740 const CompletionCallback& callback,
[email protected]507af8f2012-10-20 00:42:3241 const HttpResponseHeaders* original_response_headers,
[email protected]ea8141e2011-10-05 13:12:5142 scoped_refptr<HttpResponseHeaders>* override_response_headers) {
43 DCHECK(CalledOnValidThread());
44 DCHECK(original_response_headers);
[email protected]084262c2011-12-01 21:12:4745 DCHECK(!callback.is_null());
[email protected]ea8141e2011-10-05 13:12:5146 return OnHeadersReceived(request, callback, original_response_headers,
47 override_response_headers);
48}
49
[email protected]0651b812011-02-24 00:22:5050void NetworkDelegate::NotifyResponseStarted(URLRequest* request) {
51 DCHECK(CalledOnValidThread());
52 DCHECK(request);
53 OnResponseStarted(request);
54}
55
[email protected]8523ba52011-05-22 19:00:5856void NetworkDelegate::NotifyRawBytesRead(const URLRequest& request,
57 int bytes_read) {
58 DCHECK(CalledOnValidThread());
59 OnRawBytesRead(request, bytes_read);
60}
61
[email protected]31b2e5f2011-04-20 16:58:3262void NetworkDelegate::NotifyBeforeRedirect(URLRequest* request,
63 const GURL& new_location) {
64 DCHECK(CalledOnValidThread());
65 DCHECK(request);
66 OnBeforeRedirect(request, new_location);
67}
68
[email protected]9045b8822012-01-13 20:35:3569void NetworkDelegate::NotifyCompleted(URLRequest* request, bool started) {
[email protected]0651b812011-02-24 00:22:5070 DCHECK(CalledOnValidThread());
71 DCHECK(request);
[email protected]9045b8822012-01-13 20:35:3572 OnCompleted(request, started);
[email protected]0651b812011-02-24 00:22:5073}
74
[email protected]4875ba12011-03-30 22:31:5175void NetworkDelegate::NotifyURLRequestDestroyed(URLRequest* request) {
[email protected]5aa20132011-04-27 23:11:3476 DCHECK(CalledOnValidThread());
[email protected]4875ba12011-03-30 22:31:5177 DCHECK(request);
[email protected]5aa20132011-04-27 23:11:3478 OnURLRequestDestroyed(request);
79}
80
[email protected]82a37672011-05-03 12:02:4181void NetworkDelegate::NotifyPACScriptError(int line_number,
[email protected]42cba2fb2013-03-29 19:58:5782 const base::string16& error) {
[email protected]82a37672011-05-03 12:02:4183 DCHECK(CalledOnValidThread());
84 OnPACScriptError(line_number, error);
85}
86
[email protected]c2911d72011-10-03 22:16:3687NetworkDelegate::AuthRequiredResponse NetworkDelegate::NotifyAuthRequired(
88 URLRequest* request,
89 const AuthChallengeInfo& auth_info,
90 const AuthCallback& callback,
91 AuthCredentials* credentials) {
[email protected]7efc582d2011-08-03 20:46:3592 DCHECK(CalledOnValidThread());
[email protected]c2911d72011-10-03 22:16:3693 return OnAuthRequired(request, auth_info, callback, credentials);
[email protected]7efc582d2011-08-03 20:46:3594}
95
[email protected]c6c6e5652013-10-29 02:40:3096int NetworkDelegate::NotifyBeforeSocketStreamConnect(
97 SocketStream* socket,
98 const CompletionCallback& callback) {
99 DCHECK(CalledOnValidThread());
100 DCHECK(socket);
101 DCHECK(!callback.is_null());
102 return OnBeforeSocketStreamConnect(socket, callback);
103}
104
105void NetworkDelegate::NotifyRequestWaitStateChange(const URLRequest& request,
106 RequestWaitState state) {
107 DCHECK(CalledOnValidThread());
108 OnRequestWaitStateChange(request, state);
109}
110
[email protected]4c219e22012-05-05 19:41:04111bool NetworkDelegate::CanGetCookies(const URLRequest& request,
112 const CookieList& cookie_list) {
[email protected]9c8ae8c2012-03-09 13:13:35113 DCHECK(CalledOnValidThread());
[email protected]4c219e22012-05-05 19:41:04114 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SEND_COOKIES));
115 return OnCanGetCookies(request, cookie_list);
[email protected]9c8ae8c2012-03-09 13:13:35116}
117
[email protected]f33e6872013-05-07 07:00:37118bool NetworkDelegate::CanSetCookie(const URLRequest& request,
119 const std::string& cookie_line,
120 CookieOptions* options) {
[email protected]9c8ae8c2012-03-09 13:13:35121 DCHECK(CalledOnValidThread());
[email protected]4c219e22012-05-05 19:41:04122 DCHECK(!(request.load_flags() & net::LOAD_DO_NOT_SAVE_COOKIES));
123 return OnCanSetCookie(request, cookie_line, options);
124}
125
126bool NetworkDelegate::CanAccessFile(const URLRequest& request,
[email protected]a3ef4832013-02-02 05:12:33127 const base::FilePath& path) const {
[email protected]4c219e22012-05-05 19:41:04128 DCHECK(CalledOnValidThread());
129 return OnCanAccessFile(request, path);
[email protected]9c8ae8c2012-03-09 13:13:35130}
131
[email protected]a1d4ab072012-06-07 13:21:15132bool NetworkDelegate::CanThrottleRequest(const URLRequest& request) const {
133 DCHECK(CalledOnValidThread());
134 return OnCanThrottleRequest(request);
135}
136
[email protected]e6d017652013-05-17 18:01:40137bool NetworkDelegate::CanEnablePrivacyMode(
138 const GURL& url,
139 const GURL& first_party_for_cookies) const {
140 DCHECK(CalledOnValidThread());
141 return OnCanEnablePrivacyMode(url, first_party_for_cookies);
142}
143
[email protected]c6c6e5652013-10-29 02:40:30144int NetworkDelegate::OnBeforeURLRequest(URLRequest* request,
145 const CompletionCallback& callback,
146 GURL* new_url) {
147 return OK;
148}
149
150int NetworkDelegate::OnBeforeSendHeaders(URLRequest* request,
151 const CompletionCallback& callback,
152 HttpRequestHeaders* headers) {
153 return OK;
154}
155
156void NetworkDelegate::OnSendHeaders(URLRequest* request,
157 const HttpRequestHeaders& headers) {
158}
159
160int NetworkDelegate::OnHeadersReceived(
161 URLRequest* request,
162 const CompletionCallback& callback,
163 const HttpResponseHeaders* original_response_headers,
164 scoped_refptr<HttpResponseHeaders>* override_response_headers) {
165 return OK;
166}
167
168void NetworkDelegate::OnBeforeRedirect(URLRequest* request,
169 const GURL& new_location) {
170}
171
172void NetworkDelegate::OnResponseStarted(URLRequest* request) {
173}
174
175void NetworkDelegate::OnRawBytesRead(const URLRequest& request,
176 int bytes_read) {
177}
178
179void NetworkDelegate::OnCompleted(URLRequest* request, bool started) {
180}
181
182void NetworkDelegate::OnURLRequestDestroyed(URLRequest* request) {
183}
184
185void NetworkDelegate::OnPACScriptError(int line_number,
186 const base::string16& error) {
187}
188
189NetworkDelegate::AuthRequiredResponse NetworkDelegate::OnAuthRequired(
190 URLRequest* request,
191 const AuthChallengeInfo& auth_info,
192 const AuthCallback& callback,
193 AuthCredentials* credentials) {
194 return AUTH_REQUIRED_RESPONSE_NO_ACTION;
195}
196
197bool NetworkDelegate::OnCanGetCookies(const URLRequest& request,
198 const CookieList& cookie_list) {
199 return true;
200}
201
202bool NetworkDelegate::OnCanSetCookie(const URLRequest& request,
203 const std::string& cookie_line,
204 CookieOptions* options) {
205 return true;
206}
207
208bool NetworkDelegate::OnCanAccessFile(const URLRequest& request,
209 const base::FilePath& path) const {
[email protected]e6d017652013-05-17 18:01:40210 return false;
211}
212
[email protected]c6c6e5652013-10-29 02:40:30213bool NetworkDelegate::OnCanThrottleRequest(const URLRequest& request) const {
214 return false;
[email protected]aa28181e2012-06-13 00:53:58215}
216
[email protected]c6c6e5652013-10-29 02:40:30217bool NetworkDelegate::OnCanEnablePrivacyMode(
218 const GURL& url,
219 const GURL& first_party_for_cookies) const {
220 return false;
221}
222
223int NetworkDelegate::OnBeforeSocketStreamConnect(
224 SocketStream* socket,
225 const CompletionCallback& callback) {
226 return OK;
227}
228
229void NetworkDelegate::OnRequestWaitStateChange(const URLRequest& request,
230 RequestWaitState state) {
[email protected]5a07c192012-07-30 20:18:22231}
232
[email protected]0651b812011-02-24 00:22:50233} // namespace net