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