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

Unified Diff: Source/core/inspector/InspectorResourceAgent.cpp

Issue 1315043008: [DevTools] Show blocked requests in Network panel. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: hidden Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/inspector/InspectorResourceAgent.cpp
diff --git a/Source/core/inspector/InspectorResourceAgent.cpp b/Source/core/inspector/InspectorResourceAgent.cpp
index 5e9bb99b48a926f1341e2bb93bdf03bae12cbc63..cf09e504e870ffed6c7851fa5f9d556b5baf03e2 100644
--- a/Source/core/inspector/InspectorResourceAgent.cpp
+++ b/Source/core/inspector/InspectorResourceAgent.cpp
@@ -193,6 +193,24 @@ TypeBuilder::Network::Request::MixedContentType::Enum mixedContentTypeForContext
return TypeBuilder::Network::Request::MixedContentType::None;
}
+TypeBuilder::Network::BlockedReason::Enum buildBlockedReason(InspectorRequestBlockedReason reason)
+{
+ switch (reason) {
+ case InspectorRequestBlockedReasonCSP:
+ return TypeBuilder::Network::BlockedReason::Enum::Csp;
+ case InspectorRequestBlockedReasonMixedContent:
+ return TypeBuilder::Network::BlockedReason::Enum::Mixed_content;
+ case InspectorRequestBlockedReasonOrigin:
+ return TypeBuilder::Network::BlockedReason::Enum::Origin;
+ case InspectorRequestBlockedReasonInspector:
+ return TypeBuilder::Network::BlockedReason::Enum::Inspector;
+ case InspectorRequestBlockedReasonOther:
+ case InspectorRequestBlockedReasonNone:
+ return TypeBuilder::Network::BlockedReason::Enum::Other;
+ }
+ return TypeBuilder::Network::BlockedReason::Enum::Other;
+}
+
} // namespace
void InspectorResourceAgent::restore()
@@ -366,24 +384,27 @@ DEFINE_TRACE(InspectorResourceAgent)
InspectorBaseAgent::trace(visitor);
}
-bool InspectorResourceAgent::shouldBlockRequest(LocalFrame* frame, const ResourceRequest& request, DocumentLoader* loader, const FetchInitiatorInfo& initiatorInfo)
+bool InspectorResourceAgent::shouldBlockRequest(const ResourceRequest& request)
{
String url = request.url().string();
RefPtr<JSONObject> blockedURLs = m_state->getObject(ResourceAgentState::blockedURLs);
for (const auto& entry : *blockedURLs) {
- if (url.contains(entry.key)) {
- unsigned long identifier = createUniqueIdentifier();
- willSendRequestInternal(frame, identifier, loader, request, ResourceResponse(), initiatorInfo);
-
- String requestId = IdentifiersFactory::requestId(identifier);
- bool blocked = true;
- frontend()->loadingFailed(requestId, monotonicallyIncreasingTime(), InspectorPageAgent::resourceTypeJson(m_resourcesData->resourceType(requestId)), String(), nullptr, &blocked);
+ if (url.contains(entry.key))
return true;
- }
}
return false;
}
+void InspectorResourceAgent::didBlockRequest(LocalFrame* frame, const ResourceRequest& request, DocumentLoader* loader, const FetchInitiatorInfo& initiatorInfo, InspectorRequestBlockedReason reason)
+{
+ unsigned long identifier = createUniqueIdentifier();
+ willSendRequestInternal(frame, identifier, loader, request, ResourceResponse(), initiatorInfo);
+
+ String requestId = IdentifiersFactory::requestId(identifier);
+ TypeBuilder::Network::BlockedReason::Enum protocolReason = buildBlockedReason(reason);
+ frontend()->loadingFailed(requestId, monotonicallyIncreasingTime(), InspectorPageAgent::resourceTypeJson(m_resourcesData->resourceType(requestId)), String(), nullptr, &protocolReason);
+}
+
void InspectorResourceAgent::willSendRequestInternal(LocalFrame* frame, unsigned long identifier, DocumentLoader* loader, const ResourceRequest& request, const ResourceResponse& redirectResponse, const FetchInitiatorInfo& initiatorInfo)
{
String requestId = IdentifiersFactory::requestId(identifier);

Powered by Google App Engine
This is Rietveld 408576698