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

Unified Diff: content/public/common/resource_type.cc

Issue 409593002: Get ResourceType from WebURLRequest rather than TargetType. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Windows. Created 6 years, 5 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
« no previous file with comments | « content/public/common/resource_type.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/public/common/resource_type.cc
diff --git a/content/public/common/resource_type.cc b/content/public/common/resource_type.cc
index 56dfec735d09094ef198e63e0ebd4deca47a1e0a..0921eb5f8321313940567fd63621638afcef1c27 100644
--- a/content/public/common/resource_type.cc
+++ b/content/public/common/resource_type.cc
@@ -11,45 +11,111 @@ using blink::WebURLRequest;
namespace content {
// static
-ResourceType::Type ResourceType::FromTargetType(
- WebURLRequest::TargetType type) {
- switch (type) {
- case WebURLRequest::TargetIsMainFrame:
+ResourceType::Type ResourceType::FromWebURLRequest(
+ const WebURLRequest& request) {
+ WebURLRequest::RequestContext requestContext = request.requestContext();
+ if (request.frameType() != WebURLRequest::FrameTypeNone) {
+ DCHECK(requestContext == WebURLRequest::RequestContextForm ||
+ requestContext == WebURLRequest::RequestContextFrame ||
+ requestContext == WebURLRequest::RequestContextHyperlink ||
+ requestContext == WebURLRequest::RequestContextIframe ||
+ requestContext == WebURLRequest::RequestContextInternal ||
+ requestContext == WebURLRequest::RequestContextLocation);
+ if (request.frameType() == WebURLRequest::FrameTypeTopLevel ||
+ request.frameType() == WebURLRequest::FrameTypeAuxiliary) {
return ResourceType::MAIN_FRAME;
- case WebURLRequest::TargetIsSubframe:
+ }
+ if (request.frameType() == WebURLRequest::FrameTypeNested)
return ResourceType::SUB_FRAME;
- case WebURLRequest::TargetIsSubresource:
- return ResourceType::SUB_RESOURCE;
- case WebURLRequest::TargetIsStyleSheet:
- return ResourceType::STYLESHEET;
- case WebURLRequest::TargetIsScript:
- return ResourceType::SCRIPT;
- case WebURLRequest::TargetIsFontResource:
+ NOTREACHED();
+ return ResourceType::SUB_RESOURCE;
+ }
+
+ switch (requestContext) {
+ // Favicon
+ case WebURLRequest::RequestContextFavicon:
+ return ResourceType::FAVICON;
+
+ // Font
+ case WebURLRequest::RequestContextFont:
return ResourceType::FONT_RESOURCE;
- case WebURLRequest::TargetIsImage:
+
+ // Image
+ case WebURLRequest::RequestContextImage:
return ResourceType::IMAGE;
- case WebURLRequest::TargetIsObject:
+
+ // Media
+ case WebURLRequest::RequestContextAudio:
+ case WebURLRequest::RequestContextVideo:
+ return ResourceType::MEDIA;
+
+ // Object
+ case WebURLRequest::RequestContextEmbed:
+ case WebURLRequest::RequestContextObject:
return ResourceType::OBJECT;
- case WebURLRequest::TargetIsMedia:
+
+ // Ping
+ case WebURLRequest::RequestContextBeacon:
+ case WebURLRequest::RequestContextCSPReport:
+ case WebURLRequest::RequestContextPing:
+ return ResourceType::PING;
+
+ // Prefetch
+ case WebURLRequest::RequestContextPrefetch:
+ return ResourceType::PREFETCH;
+
+ // Script
+ case WebURLRequest::RequestContextScript:
+ return ResourceType::SCRIPT;
+
+ // Style
+ case WebURLRequest::RequestContextXSLT:
+ case WebURLRequest::RequestContextStyle:
+ return ResourceType::STYLESHEET;
+
+ // Subresource
+ case WebURLRequest::RequestContextDownload:
+ case WebURLRequest::RequestContextManifest:
+ case WebURLRequest::RequestContextSubresource:
+ case WebURLRequest::RequestContextPlugin:
+ return ResourceType::SUB_RESOURCE;
+
+ // TextTrack
+ case WebURLRequest::RequestContextTrack:
return ResourceType::MEDIA;
- case WebURLRequest::TargetIsWorker:
- return ResourceType::WORKER;
- case WebURLRequest::TargetIsSharedWorker:
+
+ // Workers
+ case WebURLRequest::RequestContextServiceWorker:
+ return ResourceType::SERVICE_WORKER;
+ case WebURLRequest::RequestContextSharedWorker:
return ResourceType::SHARED_WORKER;
- case WebURLRequest::TargetIsPrefetch:
- return ResourceType::PREFETCH;
- case WebURLRequest::TargetIsFavicon:
- return ResourceType::FAVICON;
- case WebURLRequest::TargetIsXHR:
+ case WebURLRequest::RequestContextWorker:
+ return ResourceType::WORKER;
+
+ // Unspecified
+ case WebURLRequest::RequestContextInternal:
+ case WebURLRequest::RequestContextUnspecified:
+ return ResourceType::SUB_RESOURCE;
+
+ // XHR
+ case WebURLRequest::RequestContextEventSource:
+ case WebURLRequest::RequestContextFetch:
+ case WebURLRequest::RequestContextXMLHttpRequest:
return ResourceType::XHR;
- case WebURLRequest::TargetIsPing:
- return ResourceType::PING;
- case WebURLRequest::TargetIsServiceWorker:
- return ResourceType::SERVICE_WORKER;
- default:
+
+ // These should be handled by the FrameType checks at the top of the
+ // function.
+ // Main Frame
+ case WebURLRequest::RequestContextForm:
+ case WebURLRequest::RequestContextHyperlink:
+ case WebURLRequest::RequestContextLocation:
+ case WebURLRequest::RequestContextFrame:
+ case WebURLRequest::RequestContextIframe:
NOTREACHED();
return ResourceType::SUB_RESOURCE;
}
+ NOTREACHED();
+ return ResourceType::SUB_RESOURCE;
}
} // namespace content
« no previous file with comments | « content/public/common/resource_type.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698