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 |