| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/loader/BaseFetchContext.h" | 5 #include "core/loader/BaseFetchContext.h" |
| 6 | 6 |
| 7 #include "core/dom/ExecutionContext.h" | 7 #include "core/dom/ExecutionContext.h" |
| 8 #include "core/frame/ContentSettingsClient.h" | 8 #include "core/frame/ContentSettingsClient.h" |
| 9 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
| 10 #include "core/inspector/ConsoleMessage.h" | 10 #include "core/inspector/ConsoleMessage.h" |
| 11 #include "core/loader/SubresourceFilter.h" | 11 #include "core/loader/SubresourceFilter.h" |
| 12 #include "core/loader/private/FrameClientHintsPreferencesContext.h" | 12 #include "core/loader/private/FrameClientHintsPreferencesContext.h" |
| 13 #include "core/probe/CoreProbes.h" |
| 13 #include "platform/exported/WrappedResourceRequest.h" | 14 #include "platform/exported/WrappedResourceRequest.h" |
| 14 #include "platform/loader/fetch/FetchInitiatorTypeNames.h" | 15 #include "platform/loader/fetch/FetchInitiatorTypeNames.h" |
| 15 #include "platform/loader/fetch/Resource.h" | 16 #include "platform/loader/fetch/Resource.h" |
| 16 #include "platform/loader/fetch/ResourceLoadPriority.h" | 17 #include "platform/loader/fetch/ResourceLoadPriority.h" |
| 17 #include "platform/loader/fetch/ResourceLoadingLog.h" | 18 #include "platform/loader/fetch/ResourceLoadingLog.h" |
| 18 #include "platform/weborigin/SchemeRegistry.h" | 19 #include "platform/weborigin/SchemeRegistry.h" |
| 19 #include "platform/weborigin/SecurityPolicy.h" | 20 #include "platform/weborigin/SecurityPolicy.h" |
| 20 | 21 |
| 21 namespace blink { | 22 namespace blink { |
| 22 | 23 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 46 if (execution_context_) { | 47 if (execution_context_) { |
| 47 request.SetExternalRequestStateFromRequestorAddressSpace( | 48 request.SetExternalRequestStateFromRequestorAddressSpace( |
| 48 execution_context_->GetSecurityContext().AddressSpace()); | 49 execution_context_->GetSecurityContext().AddressSpace()); |
| 49 } | 50 } |
| 50 } | 51 } |
| 51 | 52 |
| 52 SecurityOrigin* BaseFetchContext::GetSecurityOrigin() const { | 53 SecurityOrigin* BaseFetchContext::GetSecurityOrigin() const { |
| 53 return execution_context_ ? execution_context_->GetSecurityOrigin() : nullptr; | 54 return execution_context_ ? execution_context_->GetSecurityOrigin() : nullptr; |
| 54 } | 55 } |
| 55 | 56 |
| 57 void BaseFetchContext::DispatchDidReceiveEncodedData(unsigned long identifier, |
| 58 int encoded_data_length) { |
| 59 probe::didReceiveEncodedDataLength(execution_context_, identifier, |
| 60 encoded_data_length); |
| 61 } |
| 62 |
| 56 ResourceRequestBlockedReason BaseFetchContext::CanRequest( | 63 ResourceRequestBlockedReason BaseFetchContext::CanRequest( |
| 57 Resource::Type type, | 64 Resource::Type type, |
| 58 const ResourceRequest& resource_request, | 65 const ResourceRequest& resource_request, |
| 59 const KURL& url, | 66 const KURL& url, |
| 60 const ResourceLoaderOptions& options, | 67 const ResourceLoaderOptions& options, |
| 61 SecurityViolationReportingPolicy reporting_policy, | 68 SecurityViolationReportingPolicy reporting_policy, |
| 62 FetchParameters::OriginRestriction origin_restriction) const { | 69 FetchParameters::OriginRestriction origin_restriction) const { |
| 63 ResourceRequestBlockedReason blocked_reason = CanRequestInternal( | 70 ResourceRequestBlockedReason blocked_reason = CanRequestInternal( |
| 64 type, resource_request, url, options, reporting_policy, | 71 type, resource_request, url, options, reporting_policy, |
| 65 origin_restriction, resource_request.GetRedirectStatus()); | 72 origin_restriction, resource_request.GetRedirectStatus()); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 } | 177 } |
| 171 | 178 |
| 172 ResourceRequestBlockedReason BaseFetchContext::CanRequestInternal( | 179 ResourceRequestBlockedReason BaseFetchContext::CanRequestInternal( |
| 173 Resource::Type type, | 180 Resource::Type type, |
| 174 const ResourceRequest& resource_request, | 181 const ResourceRequest& resource_request, |
| 175 const KURL& url, | 182 const KURL& url, |
| 176 const ResourceLoaderOptions& options, | 183 const ResourceLoaderOptions& options, |
| 177 SecurityViolationReportingPolicy reporting_policy, | 184 SecurityViolationReportingPolicy reporting_policy, |
| 178 FetchParameters::OriginRestriction origin_restriction, | 185 FetchParameters::OriginRestriction origin_restriction, |
| 179 ResourceRequest::RedirectStatus redirect_status) const { | 186 ResourceRequest::RedirectStatus redirect_status) const { |
| 180 if (ShouldBlockRequestByInspector(resource_request)) | 187 bool should_block_request = false; |
| 188 probe::shouldBlockRequest(execution_context_, resource_request, |
| 189 &should_block_request); |
| 190 if (should_block_request) |
| 181 return ResourceRequestBlockedReason::kInspector; | 191 return ResourceRequestBlockedReason::kInspector; |
| 182 | 192 |
| 183 SecurityOrigin* security_origin = options.security_origin.Get(); | 193 SecurityOrigin* security_origin = options.security_origin.Get(); |
| 184 if (!security_origin && execution_context_) | 194 if (!security_origin && execution_context_) |
| 185 security_origin = execution_context_->GetSecurityOrigin(); | 195 security_origin = execution_context_->GetSecurityOrigin(); |
| 186 | 196 |
| 187 if (origin_restriction != FetchParameters::kNoOriginRestriction && | 197 if (origin_restriction != FetchParameters::kNoOriginRestriction && |
| 188 security_origin && !security_origin->CanDisplay(url)) { | 198 security_origin && !security_origin->CanDisplay(url)) { |
| 189 if (reporting_policy == SecurityViolationReportingPolicy::kReport) | 199 if (reporting_policy == SecurityViolationReportingPolicy::kReport) |
| 190 ReportLocalLoadFailed(url); | 200 ReportLocalLoadFailed(url); |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 316 | 326 |
| 317 return ResourceRequestBlockedReason::kNone; | 327 return ResourceRequestBlockedReason::kNone; |
| 318 } | 328 } |
| 319 | 329 |
| 320 DEFINE_TRACE(BaseFetchContext) { | 330 DEFINE_TRACE(BaseFetchContext) { |
| 321 visitor->Trace(execution_context_); | 331 visitor->Trace(execution_context_); |
| 322 FetchContext::Trace(visitor); | 332 FetchContext::Trace(visitor); |
| 323 } | 333 } |
| 324 | 334 |
| 325 } // namespace blink | 335 } // namespace blink |
| OLD | NEW |