mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
304 lines
11 KiB
C++
304 lines
11 KiB
C++
|
// Copyright 2014 The Chromium Authors. All rights reserved.
|
||
|
// Use of this source code is governed by a BSD-style license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
#include "net/base/layered_network_delegate.h"
|
||
|
|
||
|
#include <utility>
|
||
|
|
||
|
namespace net {
|
||
|
|
||
|
LayeredNetworkDelegate::LayeredNetworkDelegate(
|
||
|
std::unique_ptr<NetworkDelegate> nested_network_delegate)
|
||
|
: nested_network_delegate_(std::move(nested_network_delegate)) {}
|
||
|
|
||
|
LayeredNetworkDelegate::~LayeredNetworkDelegate() = default;
|
||
|
|
||
|
int LayeredNetworkDelegate::OnBeforeURLRequest(URLRequest* request,
|
||
|
CompletionOnceCallback callback,
|
||
|
GURL* new_url) {
|
||
|
OnBeforeURLRequestInternal(request, new_url);
|
||
|
return nested_network_delegate_->NotifyBeforeURLRequest(
|
||
|
request, std::move(callback), new_url);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnBeforeURLRequestInternal(URLRequest* request,
|
||
|
GURL* new_url) {}
|
||
|
|
||
|
int LayeredNetworkDelegate::OnBeforeStartTransaction(
|
||
|
URLRequest* request,
|
||
|
CompletionOnceCallback callback,
|
||
|
HttpRequestHeaders* headers) {
|
||
|
OnBeforeStartTransactionInternal(request, headers);
|
||
|
return nested_network_delegate_->NotifyBeforeStartTransaction(
|
||
|
request, std::move(callback), headers);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnBeforeStartTransactionInternal(
|
||
|
URLRequest* request,
|
||
|
HttpRequestHeaders* headers) {}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnBeforeSendHeaders(
|
||
|
URLRequest* request,
|
||
|
const ProxyInfo& proxy_info,
|
||
|
const ProxyRetryInfoMap& proxy_retry_info,
|
||
|
HttpRequestHeaders* headers) {
|
||
|
OnBeforeSendHeadersInternal(request, proxy_info, proxy_retry_info, headers);
|
||
|
nested_network_delegate_->NotifyBeforeSendHeaders(request, proxy_info,
|
||
|
proxy_retry_info, headers);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnBeforeSendHeadersInternal(
|
||
|
URLRequest* request,
|
||
|
const ProxyInfo& proxy_info,
|
||
|
const ProxyRetryInfoMap& proxy_retry_info,
|
||
|
HttpRequestHeaders* headers) {}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnStartTransaction(
|
||
|
URLRequest* request,
|
||
|
const HttpRequestHeaders& headers) {
|
||
|
OnStartTransactionInternal(request, headers);
|
||
|
nested_network_delegate_->NotifyStartTransaction(request, headers);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnStartTransactionInternal(
|
||
|
URLRequest* request,
|
||
|
const HttpRequestHeaders& headers) {}
|
||
|
|
||
|
int LayeredNetworkDelegate::OnHeadersReceived(
|
||
|
URLRequest* request,
|
||
|
CompletionOnceCallback callback,
|
||
|
const HttpResponseHeaders* original_response_headers,
|
||
|
scoped_refptr<HttpResponseHeaders>* override_response_headers,
|
||
|
GURL* allowed_unsafe_redirect_url) {
|
||
|
OnHeadersReceivedInternal(request, original_response_headers,
|
||
|
override_response_headers,
|
||
|
allowed_unsafe_redirect_url);
|
||
|
return nested_network_delegate_->NotifyHeadersReceived(
|
||
|
request, std::move(callback), original_response_headers,
|
||
|
override_response_headers, allowed_unsafe_redirect_url);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnHeadersReceivedInternal(
|
||
|
URLRequest* request,
|
||
|
const HttpResponseHeaders* original_response_headers,
|
||
|
scoped_refptr<HttpResponseHeaders>* override_response_headers,
|
||
|
GURL* allowed_unsafe_redirect_url) {
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnBeforeRedirect(URLRequest* request,
|
||
|
const GURL& new_location) {
|
||
|
OnBeforeRedirectInternal(request, new_location);
|
||
|
nested_network_delegate_->NotifyBeforeRedirect(request, new_location);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnBeforeRedirectInternal(
|
||
|
URLRequest* request,
|
||
|
const GURL& new_location) {
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnResponseStarted(URLRequest* request,
|
||
|
int net_error) {
|
||
|
OnResponseStartedInternal(request);
|
||
|
nested_network_delegate_->NotifyResponseStarted(request, net_error);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnResponseStartedInternal(URLRequest* request) {
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnNetworkBytesReceived(URLRequest* request,
|
||
|
int64_t bytes_received) {
|
||
|
OnNetworkBytesReceivedInternal(request, bytes_received);
|
||
|
nested_network_delegate_->NotifyNetworkBytesReceived(request, bytes_received);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnNetworkBytesReceivedInternal(
|
||
|
URLRequest* request,
|
||
|
int64_t bytes_received) {}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnNetworkBytesSent(URLRequest* request,
|
||
|
int64_t bytes_sent) {
|
||
|
OnNetworkBytesSentInternal(request, bytes_sent);
|
||
|
nested_network_delegate_->NotifyNetworkBytesSent(request, bytes_sent);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnNetworkBytesSentInternal(URLRequest* request,
|
||
|
int64_t bytes_sent) {}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCompleted(URLRequest* request,
|
||
|
bool started,
|
||
|
int net_error) {
|
||
|
OnCompletedInternal(request, started, net_error);
|
||
|
nested_network_delegate_->NotifyCompleted(request, started, net_error);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCompletedInternal(URLRequest* request,
|
||
|
bool started,
|
||
|
int net_error) {}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnURLRequestDestroyed(URLRequest* request) {
|
||
|
OnURLRequestDestroyedInternal(request);
|
||
|
nested_network_delegate_->NotifyURLRequestDestroyed(request);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnURLRequestDestroyedInternal(
|
||
|
URLRequest* request) {
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnPACScriptError(int line_number,
|
||
|
const base::string16& error) {
|
||
|
OnPACScriptErrorInternal(line_number, error);
|
||
|
nested_network_delegate_->NotifyPACScriptError(line_number, error);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnPACScriptErrorInternal(
|
||
|
int line_number,
|
||
|
const base::string16& error) {
|
||
|
}
|
||
|
|
||
|
NetworkDelegate::AuthRequiredResponse LayeredNetworkDelegate::OnAuthRequired(
|
||
|
URLRequest* request,
|
||
|
const AuthChallengeInfo& auth_info,
|
||
|
AuthCallback callback,
|
||
|
AuthCredentials* credentials) {
|
||
|
OnAuthRequiredInternal(request, auth_info, credentials);
|
||
|
return nested_network_delegate_->NotifyAuthRequired(
|
||
|
request, auth_info, std::move(callback), credentials);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnAuthRequiredInternal(
|
||
|
URLRequest* request,
|
||
|
const AuthChallengeInfo& auth_info,
|
||
|
AuthCredentials* credentials) {}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanGetCookies(const URLRequest& request,
|
||
|
const CookieList& cookie_list,
|
||
|
bool allowed_from_caller) {
|
||
|
return nested_network_delegate_->CanGetCookies(
|
||
|
request, cookie_list,
|
||
|
OnCanGetCookiesInternal(request, cookie_list, allowed_from_caller));
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanGetCookiesInternal(
|
||
|
const URLRequest& request,
|
||
|
const CookieList& cookie_list,
|
||
|
bool allowed_from_caller) {
|
||
|
return allowed_from_caller;
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanSetCookie(const URLRequest& request,
|
||
|
const net::CanonicalCookie& cookie,
|
||
|
CookieOptions* options,
|
||
|
bool allowed_from_caller) {
|
||
|
return nested_network_delegate_->CanSetCookie(
|
||
|
request, cookie, options,
|
||
|
OnCanSetCookieInternal(request, cookie, options, allowed_from_caller));
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanSetCookieInternal(
|
||
|
const URLRequest& request,
|
||
|
const net::CanonicalCookie& cookie,
|
||
|
CookieOptions* options,
|
||
|
bool allowed_from_caller) {
|
||
|
return allowed_from_caller;
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanAccessFile(
|
||
|
const URLRequest& request,
|
||
|
const base::FilePath& original_path,
|
||
|
const base::FilePath& absolute_path) const {
|
||
|
OnCanAccessFileInternal(request, original_path, absolute_path);
|
||
|
return nested_network_delegate_->CanAccessFile(request, original_path,
|
||
|
absolute_path);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCanAccessFileInternal(
|
||
|
const URLRequest& request,
|
||
|
const base::FilePath& original_path,
|
||
|
const base::FilePath& absolute_path) const {}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanEnablePrivacyMode(
|
||
|
const GURL& url,
|
||
|
const GURL& site_for_cookies) const {
|
||
|
return OnCanEnablePrivacyModeInternal(url, site_for_cookies) ||
|
||
|
nested_network_delegate_->CanEnablePrivacyMode(url, site_for_cookies);
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanEnablePrivacyModeInternal(
|
||
|
const GURL& url,
|
||
|
const GURL& site_for_cookies) const {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnAreExperimentalCookieFeaturesEnabled() const {
|
||
|
OnAreExperimentalCookieFeaturesEnabledInternal();
|
||
|
return nested_network_delegate_->AreExperimentalCookieFeaturesEnabled();
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnAreExperimentalCookieFeaturesEnabledInternal()
|
||
|
const {}
|
||
|
|
||
|
bool LayeredNetworkDelegate::
|
||
|
OnCancelURLRequestWithPolicyViolatingReferrerHeader(
|
||
|
const URLRequest& request,
|
||
|
const GURL& target_url,
|
||
|
const GURL& referrer_url) const {
|
||
|
return OnCancelURLRequestWithPolicyViolatingReferrerHeaderInternal(
|
||
|
request, target_url, referrer_url) ||
|
||
|
nested_network_delegate_
|
||
|
->CancelURLRequestWithPolicyViolatingReferrerHeader(
|
||
|
request, target_url, referrer_url);
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::
|
||
|
OnCancelURLRequestWithPolicyViolatingReferrerHeaderInternal(
|
||
|
const URLRequest& request,
|
||
|
const GURL& target_url,
|
||
|
const GURL& referrer_url) const {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanQueueReportingReport(
|
||
|
const url::Origin& origin) const {
|
||
|
OnCanQueueReportingReportInternal(origin);
|
||
|
return nested_network_delegate_->CanQueueReportingReport(origin);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCanQueueReportingReportInternal(
|
||
|
const url::Origin& origin) const {}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCanSendReportingReports(
|
||
|
std::set<url::Origin> origins,
|
||
|
base::OnceCallback<void(std::set<url::Origin>)> result_callback) const {
|
||
|
OnCanSendReportingReportsInternal(origins);
|
||
|
nested_network_delegate_->CanSendReportingReports(std::move(origins),
|
||
|
std::move(result_callback));
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCanSendReportingReportsInternal(
|
||
|
const std::set<url::Origin>& origins) const {}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanSetReportingClient(
|
||
|
const url::Origin& origin,
|
||
|
const GURL& endpoint) const {
|
||
|
OnCanSetReportingClientInternal(origin, endpoint);
|
||
|
return nested_network_delegate_->CanSetReportingClient(origin, endpoint);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCanSetReportingClientInternal(
|
||
|
const url::Origin& origin,
|
||
|
const GURL& endpoint) const {}
|
||
|
|
||
|
bool LayeredNetworkDelegate::OnCanUseReportingClient(
|
||
|
const url::Origin& origin,
|
||
|
const GURL& endpoint) const {
|
||
|
OnCanUseReportingClientInternal(origin, endpoint);
|
||
|
return nested_network_delegate_->CanUseReportingClient(origin, endpoint);
|
||
|
}
|
||
|
|
||
|
void LayeredNetworkDelegate::OnCanUseReportingClientInternal(
|
||
|
const url::Origin& origin,
|
||
|
const GURL& endpoint) const {}
|
||
|
|
||
|
} // namespace net
|