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.
5 #include "content/shell/browser/shell_network_delegate.h"
7 #include "net/base/net_errors.h"
8 #include "net/base/static_cookie_policy.h"
9 #include "net/url_request/url_request.h"
14 bool g_accept_all_cookies
= true;
17 ShellNetworkDelegate::ShellNetworkDelegate() {
20 ShellNetworkDelegate::~ShellNetworkDelegate() {
23 void ShellNetworkDelegate::SetAcceptAllCookies(bool accept
) {
24 g_accept_all_cookies
= accept
;
27 int ShellNetworkDelegate::OnBeforeURLRequest(
28 net::URLRequest
* request
,
29 const net::CompletionCallback
& callback
,
34 int ShellNetworkDelegate::OnBeforeSendHeaders(
35 net::URLRequest
* request
,
36 const net::CompletionCallback
& callback
,
37 net::HttpRequestHeaders
* headers
) {
41 void ShellNetworkDelegate::OnSendHeaders(
42 net::URLRequest
* request
,
43 const net::HttpRequestHeaders
& headers
) {
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
) {
54 void ShellNetworkDelegate::OnBeforeRedirect(net::URLRequest
* request
,
55 const GURL
& new_location
) {
58 void ShellNetworkDelegate::OnResponseStarted(net::URLRequest
* request
) {
61 void ShellNetworkDelegate::OnRawBytesRead(const net::URLRequest
& request
,
65 void ShellNetworkDelegate::OnCompleted(net::URLRequest
* request
, bool started
) {
68 void ShellNetworkDelegate::OnURLRequestDestroyed(net::URLRequest
* request
) {
71 void ShellNetworkDelegate::OnPACScriptError(int line_number
,
72 const string16
& error
) {
75 ShellNetworkDelegate::AuthRequiredResponse
ShellNetworkDelegate::OnAuthRequired(
76 net::URLRequest
* request
,
77 const net::AuthChallengeInfo
& auth_info
,
78 const AuthCallback
& callback
,
79 net::AuthCredentials
* credentials
) {
80 return AUTH_REQUIRED_RESPONSE_NO_ACTION
;
83 bool ShellNetworkDelegate::OnCanGetCookies(const net::URLRequest
& request
,
84 const net::CookieList
& cookie_list
) {
85 net::StaticCookiePolicy::Type policy_type
= g_accept_all_cookies
?
86 net::StaticCookiePolicy::ALLOW_ALL_COOKIES
:
87 net::StaticCookiePolicy::BLOCK_SETTING_THIRD_PARTY_COOKIES
;
88 net::StaticCookiePolicy
policy(policy_type
);
89 int rv
= policy
.CanGetCookies(
90 request
.url(), request
.first_party_for_cookies());
94 bool ShellNetworkDelegate::OnCanSetCookie(const net::URLRequest
& request
,
95 const std::string
& cookie_line
,
96 net::CookieOptions
* options
) {
97 net::StaticCookiePolicy::Type policy_type
= g_accept_all_cookies
?
98 net::StaticCookiePolicy::ALLOW_ALL_COOKIES
:
99 net::StaticCookiePolicy::BLOCK_SETTING_THIRD_PARTY_COOKIES
;
100 net::StaticCookiePolicy
policy(policy_type
);
101 int rv
= policy
.CanSetCookie(
102 request
.url(), request
.first_party_for_cookies());
103 return rv
== net::OK
;
106 bool ShellNetworkDelegate::OnCanAccessFile(const net::URLRequest
& request
,
107 const base::FilePath
& path
) const {
111 bool ShellNetworkDelegate::OnCanThrottleRequest(
112 const net::URLRequest
& request
) const {
116 int ShellNetworkDelegate::OnBeforeSocketStreamConnect(
117 net::SocketStream
* socket
,
118 const net::CompletionCallback
& callback
) {
122 void ShellNetworkDelegate::OnRequestWaitStateChange(
123 const net::URLRequest
& request
,
124 RequestWaitState waiting
) {
127 } // namespace content