1 // Copyright 2013 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 "content/shell/browser/shell_network_delegate.h"
6
7 #include "net/base/net_errors.h"
8 #include "net/base/static_cookie_policy.h"
9 #include "net/url_request/url_request.h"
10
11 namespace content {
12
13 namespace {
14 bool g_accept_all_cookies = true;
15 }
16
ShellNetworkDelegate()17 ShellNetworkDelegate::ShellNetworkDelegate() {
18 }
19
~ShellNetworkDelegate()20 ShellNetworkDelegate::~ShellNetworkDelegate() {
21 }
22
SetAcceptAllCookies(bool accept)23 void ShellNetworkDelegate::SetAcceptAllCookies(bool accept) {
24 g_accept_all_cookies = accept;
25 }
26
OnBeforeURLRequest(net::URLRequest * request,const net::CompletionCallback & callback,GURL * new_url)27 int ShellNetworkDelegate::OnBeforeURLRequest(
28 net::URLRequest* request,
29 const net::CompletionCallback& callback,
30 GURL* new_url) {
31 return net::OK;
32 }
33
OnBeforeSendHeaders(net::URLRequest * request,const net::CompletionCallback & callback,net::HttpRequestHeaders * headers)34 int ShellNetworkDelegate::OnBeforeSendHeaders(
35 net::URLRequest* request,
36 const net::CompletionCallback& callback,
37 net::HttpRequestHeaders* headers) {
38 return net::OK;
39 }
40
OnSendHeaders(net::URLRequest * request,const net::HttpRequestHeaders & headers)41 void ShellNetworkDelegate::OnSendHeaders(
42 net::URLRequest* request,
43 const net::HttpRequestHeaders& headers) {
44 }
45
OnHeadersReceived(net::URLRequest * request,const net::CompletionCallback & callback,const net::HttpResponseHeaders * original_response_headers,scoped_refptr<net::HttpResponseHeaders> * override_response_headers,GURL * allowed_unsafe_redirect_url)46 int ShellNetworkDelegate::OnHeadersReceived(
47 net::URLRequest* request,
48 const net::CompletionCallback& callback,
49 const net::HttpResponseHeaders* original_response_headers,
50 scoped_refptr<net::HttpResponseHeaders>* override_response_headers,
51 GURL* allowed_unsafe_redirect_url) {
52 return net::OK;
53 }
54
OnBeforeRedirect(net::URLRequest * request,const GURL & new_location)55 void ShellNetworkDelegate::OnBeforeRedirect(net::URLRequest* request,
56 const GURL& new_location) {
57 }
58
OnResponseStarted(net::URLRequest * request)59 void ShellNetworkDelegate::OnResponseStarted(net::URLRequest* request) {
60 }
61
OnRawBytesRead(const net::URLRequest & request,int bytes_read)62 void ShellNetworkDelegate::OnRawBytesRead(const net::URLRequest& request,
63 int bytes_read) {
64 }
65
OnCompleted(net::URLRequest * request,bool started)66 void ShellNetworkDelegate::OnCompleted(net::URLRequest* request, bool started) {
67 }
68
OnURLRequestDestroyed(net::URLRequest * request)69 void ShellNetworkDelegate::OnURLRequestDestroyed(net::URLRequest* request) {
70 }
71
OnPACScriptError(int line_number,const base::string16 & error)72 void ShellNetworkDelegate::OnPACScriptError(int line_number,
73 const base::string16& error) {
74 }
75
OnAuthRequired(net::URLRequest * request,const net::AuthChallengeInfo & auth_info,const AuthCallback & callback,net::AuthCredentials * credentials)76 ShellNetworkDelegate::AuthRequiredResponse ShellNetworkDelegate::OnAuthRequired(
77 net::URLRequest* request,
78 const net::AuthChallengeInfo& auth_info,
79 const AuthCallback& callback,
80 net::AuthCredentials* credentials) {
81 return AUTH_REQUIRED_RESPONSE_NO_ACTION;
82 }
83
OnCanGetCookies(const net::URLRequest & request,const net::CookieList & cookie_list)84 bool ShellNetworkDelegate::OnCanGetCookies(const net::URLRequest& request,
85 const net::CookieList& cookie_list) {
86 net::StaticCookiePolicy::Type policy_type = g_accept_all_cookies ?
87 net::StaticCookiePolicy::ALLOW_ALL_COOKIES :
88 net::StaticCookiePolicy::BLOCK_ALL_THIRD_PARTY_COOKIES;
89 net::StaticCookiePolicy policy(policy_type);
90 int rv = policy.CanGetCookies(
91 request.url(), request.first_party_for_cookies());
92 return rv == net::OK;
93 }
94
OnCanSetCookie(const net::URLRequest & request,const std::string & cookie_line,net::CookieOptions * options)95 bool ShellNetworkDelegate::OnCanSetCookie(const net::URLRequest& request,
96 const std::string& cookie_line,
97 net::CookieOptions* options) {
98 net::StaticCookiePolicy::Type policy_type = g_accept_all_cookies ?
99 net::StaticCookiePolicy::ALLOW_ALL_COOKIES :
100 net::StaticCookiePolicy::BLOCK_ALL_THIRD_PARTY_COOKIES;
101 net::StaticCookiePolicy policy(policy_type);
102 int rv = policy.CanSetCookie(
103 request.url(), request.first_party_for_cookies());
104 return rv == net::OK;
105 }
106
OnCanAccessFile(const net::URLRequest & request,const base::FilePath & path) const107 bool ShellNetworkDelegate::OnCanAccessFile(const net::URLRequest& request,
108 const base::FilePath& path) const {
109 return true;
110 }
111
OnCanThrottleRequest(const net::URLRequest & request) const112 bool ShellNetworkDelegate::OnCanThrottleRequest(
113 const net::URLRequest& request) const {
114 return false;
115 }
116
OnBeforeSocketStreamConnect(net::SocketStream * socket,const net::CompletionCallback & callback)117 int ShellNetworkDelegate::OnBeforeSocketStreamConnect(
118 net::SocketStream* socket,
119 const net::CompletionCallback& callback) {
120 return net::OK;
121 }
122
123 } // namespace content
124