Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: third_party/WebKit/Source/core/loader/BaseFetchContext.cpp

Issue 2900613002: Support DevTools for off-main-thread-fetch (Closed)
Patch Set: incorporated kinuko's comment Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698