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

Unified Diff: third_party/WebKit/Source/core/loader/FrameFetchContext.cpp

Issue 2535383003: Collapse images disallowed by the Safe Browsing Subresource Filter. (Closed)
Patch Set: Phrasing. Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
diff --git a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
index 049c2e27133a05c7fed4fc1962116c16e9474ea6..fcd8caf98242c3b9cfacf8f79fe6297f09fdcaea 100644
--- a/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
+++ b/third_party/WebKit/Source/core/loader/FrameFetchContext.cpp
@@ -568,43 +568,39 @@ void FrameFetchContext::printAccessDeniedMessage(const KURL& url) const {
SecurityMessageSource, ErrorMessageLevel, message));
}
-bool FrameFetchContext::canRequest(
+ResourceRequestBlockedReason FrameFetchContext::canRequest(
Resource::Type type,
const ResourceRequest& resourceRequest,
const KURL& url,
const ResourceLoaderOptions& options,
bool forPreload,
FetchRequest::OriginRestriction originRestriction) const {
- ResourceRequestBlockedReason reason =
+ ResourceRequestBlockedReason blockedReason =
canRequestInternal(type, resourceRequest, url, options, forPreload,
originRestriction, resourceRequest.redirectStatus());
- if (reason != ResourceRequestBlockedReasonNone) {
- if (!forPreload) {
- InspectorInstrumentation::didBlockRequest(frame(), resourceRequest,
- masterDocumentLoader(),
- options.initiatorInfo, reason);
- }
- return false;
+ if (blockedReason != ResourceRequestBlockedReason::None && !forPreload) {
+ InspectorInstrumentation::didBlockRequest(
+ frame(), resourceRequest, masterDocumentLoader(), options.initiatorInfo,
+ blockedReason);
}
- return true;
+ return blockedReason;
}
-bool FrameFetchContext::allowResponse(
+ResourceRequestBlockedReason FrameFetchContext::allowResponse(
Resource::Type type,
const ResourceRequest& resourceRequest,
const KURL& url,
const ResourceLoaderOptions& options) const {
- ResourceRequestBlockedReason reason =
+ ResourceRequestBlockedReason blockedReason =
canRequestInternal(type, resourceRequest, url, options, false,
FetchRequest::UseDefaultOriginRestrictionForType,
RedirectStatus::FollowedRedirect);
- if (reason != ResourceRequestBlockedReasonNone) {
- InspectorInstrumentation::didBlockRequest(frame(), resourceRequest,
- masterDocumentLoader(),
- options.initiatorInfo, reason);
- return false;
+ if (blockedReason != ResourceRequestBlockedReason::None) {
+ InspectorInstrumentation::didBlockRequest(
+ frame(), resourceRequest, masterDocumentLoader(), options.initiatorInfo,
+ blockedReason);
}
- return true;
+ return blockedReason;
}
ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
@@ -616,7 +612,7 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
FetchRequest::OriginRestriction originRestriction,
ResourceRequest::RedirectStatus redirectStatus) const {
if (InspectorInstrumentation::shouldBlockRequest(frame(), resourceRequest))
- return ResourceRequestBlockedReasonInspector;
+ return ResourceRequestBlockedReason::Inspector;
SecurityOrigin* securityOrigin = options.securityOrigin.get();
if (!securityOrigin && m_document)
@@ -628,7 +624,7 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
FrameLoader::reportLocalLoadFailed(frame(), url.elidedString());
RESOURCE_LOADING_DVLOG(1) << "ResourceFetcher::requestResource URL was not "
"allowed by SecurityOrigin::canDisplay";
- return ResourceRequestBlockedReasonOther;
+ return ResourceRequestBlockedReason::Other;
}
// Some types of resources can be loaded only from the same origin. Other
@@ -651,7 +647,7 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
if (originRestriction == FetchRequest::RestrictToSameOrigin &&
!securityOrigin->canRequest(url)) {
printAccessDeniedMessage(url);
- return ResourceRequestBlockedReasonOrigin;
+ return ResourceRequestBlockedReason::Origin;
}
break;
case Resource::XSLStyleSheet:
@@ -659,7 +655,7 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
case Resource::SVGDocument:
if (!securityOrigin->canRequest(url)) {
printAccessDeniedMessage(url);
- return ResourceRequestBlockedReasonOrigin;
+ return ResourceRequestBlockedReason::Origin;
}
break;
}
@@ -683,7 +679,7 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
resourceRequest.requestContext(), url,
options.contentSecurityPolicyNonce, options.integrityMetadata,
options.parserDisposition, redirectStatus, cspReporting))
- return ResourceRequestBlockedReasonCSP;
+ return ResourceRequestBlockedReason::CSP;
}
if (type == Resource::Script || type == Resource::ImportResource) {
@@ -694,19 +690,19 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
frame()->loader().client()->didNotAllowScript();
// TODO(estark): Use a different ResourceRequestBlockedReason here, since
// this check has nothing to do with CSP. https://crbug.com/600795
- return ResourceRequestBlockedReasonCSP;
+ return ResourceRequestBlockedReason::CSP;
}
} else if (type == Resource::Media || type == Resource::TextTrack) {
DCHECK(frame());
if (!frame()->loader().client()->allowMedia(url))
- return ResourceRequestBlockedReasonOther;
+ return ResourceRequestBlockedReason::Other;
}
// SVG Images have unique security rules that prevent all subresource requests
// except for data urls.
if (type != Resource::MainResource &&
frame()->chromeClient().isSVGImageChromeClient() && !url.protocolIsData())
- return ResourceRequestBlockedReasonOrigin;
+ return ResourceRequestBlockedReason::Origin;
// Measure the number of legacy URL schemes ('ftp://') and the number of
// embedded-credential ('http://user:password@...') resources embedded as
@@ -735,7 +731,7 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
: MixedContentChecker::SendReport;
if (MixedContentChecker::shouldBlockFetch(frame(), resourceRequest, url,
mixedContentReporting))
- return ResourceRequestBlockedReasonMixedContent;
+ return ResourceRequestBlockedReason::MixedContent;
// Let the client have the final say into whether or not the load should
// proceed.
@@ -744,9 +740,9 @@ ResourceRequestBlockedReason FrameFetchContext::canRequestInternal(
type != Resource::MainResource && type != Resource::ImportResource &&
!documentLoader->subresourceFilter()->allowLoad(
url, resourceRequest.requestContext()))
- return ResourceRequestBlockedReasonSubresourceFilter;
+ return ResourceRequestBlockedReason::SubresourceFilter;
- return ResourceRequestBlockedReasonNone;
+ return ResourceRequestBlockedReason::None;
}
bool FrameFetchContext::isControlledByServiceWorker() const {

Powered by Google App Engine
This is Rietveld 408576698