Home | History | Annotate | Download | only in browser
      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 
     17 ShellNetworkDelegate::ShellNetworkDelegate() {
     18 }
     19 
     20 ShellNetworkDelegate::~ShellNetworkDelegate() {
     21 }
     22 
     23 void ShellNetworkDelegate::SetAcceptAllCookies(bool accept) {
     24   g_accept_all_cookies = accept;
     25 }
     26 
     27 int ShellNetworkDelegate::OnBeforeURLRequest(
     28     net::URLRequest* request,
     29     const net::CompletionCallback& callback,
     30     GURL* new_url) {
     31   return net::OK;
     32 }
     33 
     34 int ShellNetworkDelegate::OnBeforeSendHeaders(
     35     net::URLRequest* request,
     36     const net::CompletionCallback& callback,
     37     net::HttpRequestHeaders* headers) {
     38   return net::OK;
     39 }
     40 
     41 void ShellNetworkDelegate::OnSendHeaders(
     42     net::URLRequest* request,
     43     const net::HttpRequestHeaders& headers) {
     44 }
     45 
     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 
     55 void ShellNetworkDelegate::OnBeforeRedirect(net::URLRequest* request,
     56                                             const GURL& new_location) {
     57 }
     58 
     59 void ShellNetworkDelegate::OnResponseStarted(net::URLRequest* request) {
     60 }
     61 
     62 void ShellNetworkDelegate::OnRawBytesRead(const net::URLRequest& request,
     63                                           int bytes_read) {
     64 }
     65 
     66 void ShellNetworkDelegate::OnCompleted(net::URLRequest* request, bool started) {
     67 }
     68 
     69 void ShellNetworkDelegate::OnURLRequestDestroyed(net::URLRequest* request) {
     70 }
     71 
     72 void ShellNetworkDelegate::OnPACScriptError(int line_number,
     73                                             const base::string16& error) {
     74 }
     75 
     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 
     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 
     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 
    107 bool ShellNetworkDelegate::OnCanAccessFile(const net::URLRequest& request,
    108                                            const base::FilePath& path) const {
    109   return true;
    110 }
    111 
    112 bool ShellNetworkDelegate::OnCanThrottleRequest(
    113     const net::URLRequest& request) const {
    114   return false;
    115 }
    116 
    117 int ShellNetworkDelegate::OnBeforeSocketStreamConnect(
    118     net::SocketStream* socket,
    119     const net::CompletionCallback& callback) {
    120   return net::OK;
    121 }
    122 
    123 }  // namespace content
    124