megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 1 | // Copyright 2014 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 "net/base/layered_network_delegate.h" |
| 6 | |
dcheng | c7eeda42 | 2015-12-26 03:56:48 | [diff] [blame] | 7 | #include <utility> |
| 8 | |
Matt Menke | d38efd9 | 2018-08-14 20:39:45 | [diff] [blame] | 9 | #include "base/memory/ptr_util.h" |
| 10 | |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 11 | namespace net { |
| 12 | |
| 13 | LayeredNetworkDelegate::LayeredNetworkDelegate( |
danakj | 7f767e6 | 2016-04-16 23:20:23 | [diff] [blame] | 14 | std::unique_ptr<NetworkDelegate> nested_network_delegate) |
Matt Menke | d38efd9 | 2018-08-14 20:39:45 | [diff] [blame] | 15 | : owned_nested_network_delegate_(std::move(nested_network_delegate)), |
| 16 | nested_network_delegate_(owned_nested_network_delegate_.get()) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 17 | |
Chris Watkins | 68b1503 | 2017-12-01 03:07:13 | [diff] [blame] | 18 | LayeredNetworkDelegate::~LayeredNetworkDelegate() = default; |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 19 | |
Matt Menke | d38efd9 | 2018-08-14 20:39:45 | [diff] [blame] | 20 | std::unique_ptr<NetworkDelegate> |
| 21 | LayeredNetworkDelegate::CreatePassThroughNetworkDelegate( |
| 22 | NetworkDelegate* unowned_nested_network_delegate) { |
| 23 | return base::WrapUnique<NetworkDelegate>( |
| 24 | new LayeredNetworkDelegate(unowned_nested_network_delegate)); |
| 25 | } |
| 26 | |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 27 | int LayeredNetworkDelegate::OnBeforeURLRequest(URLRequest* request, |
| 28 | CompletionOnceCallback callback, |
| 29 | GURL* new_url) { |
| 30 | OnBeforeURLRequestInternal(request, new_url); |
| 31 | return nested_network_delegate_->NotifyBeforeURLRequest( |
| 32 | request, std::move(callback), new_url); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 33 | } |
| 34 | |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 35 | void LayeredNetworkDelegate::OnBeforeURLRequestInternal(URLRequest* request, |
| 36 | GURL* new_url) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 37 | |
ryansturm | 2343cb6 | 2016-06-15 01:09:00 | [diff] [blame] | 38 | int LayeredNetworkDelegate::OnBeforeStartTransaction( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 39 | URLRequest* request, |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 40 | CompletionOnceCallback callback, |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 41 | HttpRequestHeaders* headers) { |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 42 | OnBeforeStartTransactionInternal(request, headers); |
ryansturm | 2343cb6 | 2016-06-15 01:09:00 | [diff] [blame] | 43 | return nested_network_delegate_->NotifyBeforeStartTransaction( |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 44 | request, std::move(callback), headers); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 45 | } |
| 46 | |
ryansturm | 2343cb6 | 2016-06-15 01:09:00 | [diff] [blame] | 47 | void LayeredNetworkDelegate::OnBeforeStartTransactionInternal( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 48 | URLRequest* request, |
ryansturm | 2343cb6 | 2016-06-15 01:09:00 | [diff] [blame] | 49 | HttpRequestHeaders* headers) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 50 | |
ryansturm | 49a8cb1 | 2016-06-15 16:51:09 | [diff] [blame] | 51 | void LayeredNetworkDelegate::OnBeforeSendHeaders( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 52 | URLRequest* request, |
| 53 | const ProxyInfo& proxy_info, |
ryansturm | 49a8cb1 | 2016-06-15 16:51:09 | [diff] [blame] | 54 | const ProxyRetryInfoMap& proxy_retry_info, |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 55 | HttpRequestHeaders* headers) { |
ryansturm | 49a8cb1 | 2016-06-15 16:51:09 | [diff] [blame] | 56 | OnBeforeSendHeadersInternal(request, proxy_info, proxy_retry_info, headers); |
| 57 | nested_network_delegate_->NotifyBeforeSendHeaders(request, proxy_info, |
| 58 | proxy_retry_info, headers); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 59 | } |
| 60 | |
ryansturm | 49a8cb1 | 2016-06-15 16:51:09 | [diff] [blame] | 61 | void LayeredNetworkDelegate::OnBeforeSendHeadersInternal( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 62 | URLRequest* request, |
| 63 | const ProxyInfo& proxy_info, |
ryansturm | 49a8cb1 | 2016-06-15 16:51:09 | [diff] [blame] | 64 | const ProxyRetryInfoMap& proxy_retry_info, |
| 65 | HttpRequestHeaders* headers) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 66 | |
ryansturm | 2343cb6 | 2016-06-15 01:09:00 | [diff] [blame] | 67 | void LayeredNetworkDelegate::OnStartTransaction( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 68 | URLRequest* request, |
| 69 | const HttpRequestHeaders& headers) { |
ryansturm | 2343cb6 | 2016-06-15 01:09:00 | [diff] [blame] | 70 | OnStartTransactionInternal(request, headers); |
| 71 | nested_network_delegate_->NotifyStartTransaction(request, headers); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 72 | } |
| 73 | |
ryansturm | 2343cb6 | 2016-06-15 01:09:00 | [diff] [blame] | 74 | void LayeredNetworkDelegate::OnStartTransactionInternal( |
| 75 | URLRequest* request, |
| 76 | const HttpRequestHeaders& headers) {} |
| 77 | |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 78 | int LayeredNetworkDelegate::OnHeadersReceived( |
| 79 | URLRequest* request, |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 80 | CompletionOnceCallback callback, |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 81 | const HttpResponseHeaders* original_response_headers, |
| 82 | scoped_refptr<HttpResponseHeaders>* override_response_headers, |
| 83 | GURL* allowed_unsafe_redirect_url) { |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 84 | OnHeadersReceivedInternal(request, original_response_headers, |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 85 | override_response_headers, |
| 86 | allowed_unsafe_redirect_url); |
| 87 | return nested_network_delegate_->NotifyHeadersReceived( |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 88 | request, std::move(callback), original_response_headers, |
| 89 | override_response_headers, allowed_unsafe_redirect_url); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 90 | } |
| 91 | |
| 92 | void LayeredNetworkDelegate::OnHeadersReceivedInternal( |
| 93 | URLRequest* request, |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 94 | const HttpResponseHeaders* original_response_headers, |
| 95 | scoped_refptr<HttpResponseHeaders>* override_response_headers, |
| 96 | GURL* allowed_unsafe_redirect_url) { |
| 97 | } |
| 98 | |
| 99 | void LayeredNetworkDelegate::OnBeforeRedirect(URLRequest* request, |
| 100 | const GURL& new_location) { |
| 101 | OnBeforeRedirectInternal(request, new_location); |
| 102 | nested_network_delegate_->NotifyBeforeRedirect(request, new_location); |
| 103 | } |
| 104 | |
| 105 | void LayeredNetworkDelegate::OnBeforeRedirectInternal( |
| 106 | URLRequest* request, |
| 107 | const GURL& new_location) { |
| 108 | } |
| 109 | |
maksim.sisov | 0f4aa14 | 2016-09-05 05:55:28 | [diff] [blame] | 110 | void LayeredNetworkDelegate::OnResponseStarted(URLRequest* request, |
| 111 | int net_error) { |
Eric Roman | b9fb9f4 | 2018-09-01 03:37:46 | [diff] [blame] | 112 | OnResponseStartedInternal(request, net_error); |
maksim.sisov | 0f4aa14 | 2016-09-05 05:55:28 | [diff] [blame] | 113 | nested_network_delegate_->NotifyResponseStarted(request, net_error); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 114 | } |
| 115 | |
Eric Roman | b9fb9f4 | 2018-09-01 03:37:46 | [diff] [blame] | 116 | void LayeredNetworkDelegate::OnResponseStartedInternal(URLRequest* request, |
| 117 | int net_error) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 118 | |
sclittle | a133de0 | 2015-11-10 23:54:21 | [diff] [blame] | 119 | void LayeredNetworkDelegate::OnNetworkBytesReceived(URLRequest* request, |
sclittle | ce72c48 | 2015-08-24 20:20:59 | [diff] [blame] | 120 | int64_t bytes_received) { |
| 121 | OnNetworkBytesReceivedInternal(request, bytes_received); |
| 122 | nested_network_delegate_->NotifyNetworkBytesReceived(request, bytes_received); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 123 | } |
| 124 | |
sclittle | ce72c48 | 2015-08-24 20:20:59 | [diff] [blame] | 125 | void LayeredNetworkDelegate::OnNetworkBytesReceivedInternal( |
sclittle | a133de0 | 2015-11-10 23:54:21 | [diff] [blame] | 126 | URLRequest* request, |
sclittle | ce72c48 | 2015-08-24 20:20:59 | [diff] [blame] | 127 | int64_t bytes_received) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 128 | |
sclittle | a133de0 | 2015-11-10 23:54:21 | [diff] [blame] | 129 | void LayeredNetworkDelegate::OnNetworkBytesSent(URLRequest* request, |
sclittle | 28d558b | 2015-09-28 21:40:52 | [diff] [blame] | 130 | int64_t bytes_sent) { |
| 131 | OnNetworkBytesSentInternal(request, bytes_sent); |
| 132 | nested_network_delegate_->NotifyNetworkBytesSent(request, bytes_sent); |
| 133 | } |
| 134 | |
sclittle | a133de0 | 2015-11-10 23:54:21 | [diff] [blame] | 135 | void LayeredNetworkDelegate::OnNetworkBytesSentInternal(URLRequest* request, |
| 136 | int64_t bytes_sent) {} |
sclittle | 28d558b | 2015-09-28 21:40:52 | [diff] [blame] | 137 | |
maksim.sisov | 0f4aa14 | 2016-09-05 05:55:28 | [diff] [blame] | 138 | void LayeredNetworkDelegate::OnCompleted(URLRequest* request, |
| 139 | bool started, |
| 140 | int net_error) { |
Matt Menke | 28cab82 | 2018-06-20 20:52:37 | [diff] [blame] | 141 | OnCompletedInternal(request, started, net_error); |
maksim.sisov | 0f4aa14 | 2016-09-05 05:55:28 | [diff] [blame] | 142 | nested_network_delegate_->NotifyCompleted(request, started, net_error); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 143 | } |
| 144 | |
| 145 | void LayeredNetworkDelegate::OnCompletedInternal(URLRequest* request, |
Matt Menke | 28cab82 | 2018-06-20 20:52:37 | [diff] [blame] | 146 | bool started, |
| 147 | int net_error) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 148 | |
| 149 | void LayeredNetworkDelegate::OnURLRequestDestroyed(URLRequest* request) { |
| 150 | OnURLRequestDestroyedInternal(request); |
| 151 | nested_network_delegate_->NotifyURLRequestDestroyed(request); |
| 152 | } |
| 153 | |
| 154 | void LayeredNetworkDelegate::OnURLRequestDestroyedInternal( |
| 155 | URLRequest* request) { |
| 156 | } |
| 157 | |
| 158 | void LayeredNetworkDelegate::OnPACScriptError(int line_number, |
| 159 | const base::string16& error) { |
| 160 | OnPACScriptErrorInternal(line_number, error); |
| 161 | nested_network_delegate_->NotifyPACScriptError(line_number, error); |
| 162 | } |
| 163 | |
| 164 | void LayeredNetworkDelegate::OnPACScriptErrorInternal( |
| 165 | int line_number, |
| 166 | const base::string16& error) { |
| 167 | } |
| 168 | |
| 169 | NetworkDelegate::AuthRequiredResponse LayeredNetworkDelegate::OnAuthRequired( |
| 170 | URLRequest* request, |
| 171 | const AuthChallengeInfo& auth_info, |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 172 | AuthCallback callback, |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 173 | AuthCredentials* credentials) { |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 174 | OnAuthRequiredInternal(request, auth_info, credentials); |
| 175 | return nested_network_delegate_->NotifyAuthRequired( |
| 176 | request, auth_info, std::move(callback), credentials); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 177 | } |
| 178 | |
| 179 | void LayeredNetworkDelegate::OnAuthRequiredInternal( |
| 180 | URLRequest* request, |
| 181 | const AuthChallengeInfo& auth_info, |
David Benjamin | d1f287bf | 2018-06-12 01:57:20 | [diff] [blame] | 182 | AuthCredentials* credentials) {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 183 | |
| 184 | bool LayeredNetworkDelegate::OnCanGetCookies(const URLRequest& request, |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 185 | const CookieList& cookie_list, |
| 186 | bool allowed_from_caller) { |
| 187 | return nested_network_delegate_->CanGetCookies( |
| 188 | request, cookie_list, |
| 189 | OnCanGetCookiesInternal(request, cookie_list, allowed_from_caller)); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 190 | } |
| 191 | |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 192 | bool LayeredNetworkDelegate::OnCanGetCookiesInternal( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 193 | const URLRequest& request, |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 194 | const CookieList& cookie_list, |
| 195 | bool allowed_from_caller) { |
| 196 | return allowed_from_caller; |
| 197 | } |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 198 | |
| 199 | bool LayeredNetworkDelegate::OnCanSetCookie(const URLRequest& request, |
Victor Costan | 70f8551 | 2017-11-20 16:14:46 | [diff] [blame] | 200 | const net::CanonicalCookie& cookie, |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 201 | CookieOptions* options, |
| 202 | bool allowed_from_caller) { |
| 203 | return nested_network_delegate_->CanSetCookie( |
| 204 | request, cookie, options, |
| 205 | OnCanSetCookieInternal(request, cookie, options, allowed_from_caller)); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 206 | } |
| 207 | |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 208 | bool LayeredNetworkDelegate::OnCanSetCookieInternal( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 209 | const URLRequest& request, |
Victor Costan | 70f8551 | 2017-11-20 16:14:46 | [diff] [blame] | 210 | const net::CanonicalCookie& cookie, |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 211 | CookieOptions* options, |
| 212 | bool allowed_from_caller) { |
| 213 | return allowed_from_caller; |
| 214 | } |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 215 | |
satorux | ddac044 | 2017-05-29 06:06:18 | [diff] [blame] | 216 | bool LayeredNetworkDelegate::OnCanAccessFile( |
| 217 | const URLRequest& request, |
| 218 | const base::FilePath& original_path, |
| 219 | const base::FilePath& absolute_path) const { |
| 220 | OnCanAccessFileInternal(request, original_path, absolute_path); |
| 221 | return nested_network_delegate_->CanAccessFile(request, original_path, |
| 222 | absolute_path); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 223 | } |
| 224 | |
| 225 | void LayeredNetworkDelegate::OnCanAccessFileInternal( |
| 226 | const URLRequest& request, |
satorux | ddac044 | 2017-05-29 06:06:18 | [diff] [blame] | 227 | const base::FilePath& original_path, |
| 228 | const base::FilePath& absolute_path) const {} |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 229 | |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 230 | bool LayeredNetworkDelegate::OnCanEnablePrivacyMode( |
| 231 | const GURL& url, |
Mike West | b85da8ed | 2017-08-10 14:16:46 | [diff] [blame] | 232 | const GURL& site_for_cookies) const { |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 233 | return OnCanEnablePrivacyModeInternal(url, site_for_cookies) || |
| 234 | nested_network_delegate_->CanEnablePrivacyMode(url, site_for_cookies); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 235 | } |
| 236 | |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 237 | bool LayeredNetworkDelegate::OnCanEnablePrivacyModeInternal( |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 238 | const GURL& url, |
Clark DuVall | e873764 | 2018-08-31 17:26:34 | [diff] [blame] | 239 | const GURL& site_for_cookies) const { |
| 240 | return false; |
| 241 | } |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 242 | |
estark | 7625d81 | 2015-10-12 20:10:41 | [diff] [blame] | 243 | bool LayeredNetworkDelegate::OnAreExperimentalCookieFeaturesEnabled() const { |
| 244 | OnAreExperimentalCookieFeaturesEnabledInternal(); |
| 245 | return nested_network_delegate_->AreExperimentalCookieFeaturesEnabled(); |
mkwst | 0513c9d | 2015-04-01 05:53:15 | [diff] [blame] | 246 | } |
| 247 | |
estark | 7625d81 | 2015-10-12 20:10:41 | [diff] [blame] | 248 | void LayeredNetworkDelegate::OnAreExperimentalCookieFeaturesEnabledInternal() |
| 249 | const {} |
mkwst | 0513c9d | 2015-04-01 05:53:15 | [diff] [blame] | 250 | |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 251 | bool LayeredNetworkDelegate:: |
| 252 | OnCancelURLRequestWithPolicyViolatingReferrerHeader( |
| 253 | const URLRequest& request, |
| 254 | const GURL& target_url, |
| 255 | const GURL& referrer_url) const { |
Matt Menke | 10e6cade | 2018-06-20 12:54:20 | [diff] [blame] | 256 | return OnCancelURLRequestWithPolicyViolatingReferrerHeaderInternal( |
| 257 | request, target_url, referrer_url) || |
| 258 | nested_network_delegate_ |
| 259 | ->CancelURLRequestWithPolicyViolatingReferrerHeader( |
| 260 | request, target_url, referrer_url); |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 261 | } |
| 262 | |
Matt Menke | 10e6cade | 2018-06-20 12:54:20 | [diff] [blame] | 263 | bool LayeredNetworkDelegate:: |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 264 | OnCancelURLRequestWithPolicyViolatingReferrerHeaderInternal( |
| 265 | const URLRequest& request, |
| 266 | const GURL& target_url, |
| 267 | const GURL& referrer_url) const { |
Matt Menke | 10e6cade | 2018-06-20 12:54:20 | [diff] [blame] | 268 | return false; |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 269 | } |
| 270 | |
juliatuttle | fcf4720 | 2017-05-23 15:53:02 | [diff] [blame] | 271 | bool LayeredNetworkDelegate::OnCanQueueReportingReport( |
| 272 | const url::Origin& origin) const { |
| 273 | OnCanQueueReportingReportInternal(origin); |
| 274 | return nested_network_delegate_->CanQueueReportingReport(origin); |
| 275 | } |
| 276 | |
| 277 | void LayeredNetworkDelegate::OnCanQueueReportingReportInternal( |
| 278 | const url::Origin& origin) const {} |
| 279 | |
Douglas Creager | 7b07ea4 | 2018-02-27 21:08:08 | [diff] [blame] | 280 | void LayeredNetworkDelegate::OnCanSendReportingReports( |
| 281 | std::set<url::Origin> origins, |
| 282 | base::OnceCallback<void(std::set<url::Origin>)> result_callback) const { |
| 283 | OnCanSendReportingReportsInternal(origins); |
| 284 | nested_network_delegate_->CanSendReportingReports(std::move(origins), |
| 285 | std::move(result_callback)); |
juliatuttle | fcf4720 | 2017-05-23 15:53:02 | [diff] [blame] | 286 | } |
| 287 | |
Douglas Creager | 7b07ea4 | 2018-02-27 21:08:08 | [diff] [blame] | 288 | void LayeredNetworkDelegate::OnCanSendReportingReportsInternal( |
| 289 | const std::set<url::Origin>& origins) const {} |
juliatuttle | fcf4720 | 2017-05-23 15:53:02 | [diff] [blame] | 290 | |
| 291 | bool LayeredNetworkDelegate::OnCanSetReportingClient( |
| 292 | const url::Origin& origin, |
| 293 | const GURL& endpoint) const { |
| 294 | OnCanSetReportingClientInternal(origin, endpoint); |
| 295 | return nested_network_delegate_->CanSetReportingClient(origin, endpoint); |
| 296 | } |
| 297 | |
| 298 | void LayeredNetworkDelegate::OnCanSetReportingClientInternal( |
| 299 | const url::Origin& origin, |
| 300 | const GURL& endpoint) const {} |
| 301 | |
| 302 | bool LayeredNetworkDelegate::OnCanUseReportingClient( |
| 303 | const url::Origin& origin, |
| 304 | const GURL& endpoint) const { |
| 305 | OnCanUseReportingClientInternal(origin, endpoint); |
| 306 | return nested_network_delegate_->CanUseReportingClient(origin, endpoint); |
| 307 | } |
| 308 | |
| 309 | void LayeredNetworkDelegate::OnCanUseReportingClientInternal( |
| 310 | const url::Origin& origin, |
| 311 | const GURL& endpoint) const {} |
| 312 | |
Matt Menke | d38efd9 | 2018-08-14 20:39:45 | [diff] [blame] | 313 | LayeredNetworkDelegate::LayeredNetworkDelegate( |
| 314 | NetworkDelegate* unowned_nested_network_delegate) |
| 315 | : nested_network_delegate_(unowned_nested_network_delegate) {} |
| 316 | |
megjablon | c175145 | 2014-12-09 19:46:47 | [diff] [blame] | 317 | } // namespace net |