Home | History | Annotate | Download | only in shell
      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 "content/shell/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   return net::OK;
     52 }
     53 
     54 void ShellNetworkDelegate::OnBeforeRedirect(net::URLRequest* request,
     55                                             const GURL& new_location) {
     56 }
     57 
     58 void ShellNetworkDelegate::OnResponseStarted(net::URLRequest* request) {
     59 }
     60 
     61 void ShellNetworkDelegate::OnRawBytesRead(const net::URLRequest& request,
     62                                           int bytes_read) {
     63 }
     64 
     65 void ShellNetworkDelegate::OnCompleted(net::URLRequest* request, bool started) {
     66 }
     67 
     68 void ShellNetworkDelegate::OnURLRequestDestroyed(net::URLRequest* request) {
     69 }
     70 
     71 void ShellNetworkDelegate::OnPACScriptError(int line_number,
     72                                             const string16& error) {
     73 }
     74 
     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;
     81 }
     82 
     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());
     91   return rv == net::OK;
     92 }
     93 
     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;
    104 }
    105 
    106 bool ShellNetworkDelegate::OnCanAccessFile(const net::URLRequest& request,
    107                                            const base::FilePath& path) const {
    108   return true;
    109 }
    110 
    111 bool ShellNetworkDelegate::OnCanThrottleRequest(
    112     const net::URLRequest& request) const {
    113   return false;
    114 }
    115 
    116 int ShellNetworkDelegate::OnBeforeSocketStreamConnect(
    117     net::SocketStream* socket,
    118     const net::CompletionCallback& callback) {
    119   return net::OK;
    120 }
    121 
    122 void ShellNetworkDelegate::OnRequestWaitStateChange(
    123     const net::URLRequest& request,
    124     RequestWaitState waiting) {
    125 }
    126 
    127 }  // namespace content
    128