| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "content/public/common/resource_type.h" | 5 #include "content/public/common/resource_type.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | |
| 8 | |
| 9 using blink::WebURLRequest; | |
| 10 | |
| 11 namespace content { | 7 namespace content { |
| 12 | 8 |
| 13 // static | 9 bool IsResourceTypeFrame(ResourceType type) { |
| 14 ResourceType::Type ResourceType::FromWebURLRequest( | 10 return type == RESOURCE_TYPE_MAIN_FRAME || type == RESOURCE_TYPE_SUB_FRAME; |
| 15 const WebURLRequest& request) { | |
| 16 WebURLRequest::RequestContext requestContext = request.requestContext(); | |
| 17 if (request.frameType() != WebURLRequest::FrameTypeNone) { | |
| 18 DCHECK(requestContext == WebURLRequest::RequestContextForm || | |
| 19 requestContext == WebURLRequest::RequestContextFrame || | |
| 20 requestContext == WebURLRequest::RequestContextHyperlink || | |
| 21 requestContext == WebURLRequest::RequestContextIframe || | |
| 22 requestContext == WebURLRequest::RequestContextInternal || | |
| 23 requestContext == WebURLRequest::RequestContextLocation); | |
| 24 if (request.frameType() == WebURLRequest::FrameTypeTopLevel || | |
| 25 request.frameType() == WebURLRequest::FrameTypeAuxiliary) { | |
| 26 return ResourceType::MAIN_FRAME; | |
| 27 } | |
| 28 if (request.frameType() == WebURLRequest::FrameTypeNested) | |
| 29 return ResourceType::SUB_FRAME; | |
| 30 NOTREACHED(); | |
| 31 return ResourceType::SUB_RESOURCE; | |
| 32 } | |
| 33 | |
| 34 switch (requestContext) { | |
| 35 // Favicon | |
| 36 case WebURLRequest::RequestContextFavicon: | |
| 37 return ResourceType::FAVICON; | |
| 38 | |
| 39 // Font | |
| 40 case WebURLRequest::RequestContextFont: | |
| 41 return ResourceType::FONT_RESOURCE; | |
| 42 | |
| 43 // Image | |
| 44 case WebURLRequest::RequestContextImage: | |
| 45 return ResourceType::IMAGE; | |
| 46 | |
| 47 // Media | |
| 48 case WebURLRequest::RequestContextAudio: | |
| 49 case WebURLRequest::RequestContextVideo: | |
| 50 return ResourceType::MEDIA; | |
| 51 | |
| 52 // Object | |
| 53 case WebURLRequest::RequestContextEmbed: | |
| 54 case WebURLRequest::RequestContextObject: | |
| 55 return ResourceType::OBJECT; | |
| 56 | |
| 57 // Ping | |
| 58 case WebURLRequest::RequestContextBeacon: | |
| 59 case WebURLRequest::RequestContextCSPReport: | |
| 60 case WebURLRequest::RequestContextPing: | |
| 61 return ResourceType::PING; | |
| 62 | |
| 63 // Prefetch | |
| 64 case WebURLRequest::RequestContextPrefetch: | |
| 65 return ResourceType::PREFETCH; | |
| 66 | |
| 67 // Script | |
| 68 case WebURLRequest::RequestContextScript: | |
| 69 return ResourceType::SCRIPT; | |
| 70 | |
| 71 // Style | |
| 72 case WebURLRequest::RequestContextXSLT: | |
| 73 case WebURLRequest::RequestContextStyle: | |
| 74 return ResourceType::STYLESHEET; | |
| 75 | |
| 76 // Subresource | |
| 77 case WebURLRequest::RequestContextDownload: | |
| 78 case WebURLRequest::RequestContextManifest: | |
| 79 case WebURLRequest::RequestContextSubresource: | |
| 80 case WebURLRequest::RequestContextPlugin: | |
| 81 return ResourceType::SUB_RESOURCE; | |
| 82 | |
| 83 // TextTrack | |
| 84 case WebURLRequest::RequestContextTrack: | |
| 85 return ResourceType::MEDIA; | |
| 86 | |
| 87 // Workers | |
| 88 case WebURLRequest::RequestContextServiceWorker: | |
| 89 return ResourceType::SERVICE_WORKER; | |
| 90 case WebURLRequest::RequestContextSharedWorker: | |
| 91 return ResourceType::SHARED_WORKER; | |
| 92 case WebURLRequest::RequestContextWorker: | |
| 93 return ResourceType::WORKER; | |
| 94 | |
| 95 // Unspecified | |
| 96 case WebURLRequest::RequestContextInternal: | |
| 97 case WebURLRequest::RequestContextUnspecified: | |
| 98 return ResourceType::SUB_RESOURCE; | |
| 99 | |
| 100 // XHR | |
| 101 case WebURLRequest::RequestContextEventSource: | |
| 102 case WebURLRequest::RequestContextFetch: | |
| 103 case WebURLRequest::RequestContextXMLHttpRequest: | |
| 104 return ResourceType::XHR; | |
| 105 | |
| 106 // These should be handled by the FrameType checks at the top of the | |
| 107 // function. | |
| 108 // Main Frame | |
| 109 case WebURLRequest::RequestContextForm: | |
| 110 case WebURLRequest::RequestContextHyperlink: | |
| 111 case WebURLRequest::RequestContextLocation: | |
| 112 case WebURLRequest::RequestContextFrame: | |
| 113 case WebURLRequest::RequestContextIframe: | |
| 114 NOTREACHED(); | |
| 115 return ResourceType::SUB_RESOURCE; | |
| 116 } | |
| 117 NOTREACHED(); | |
| 118 return ResourceType::SUB_RESOURCE; | |
| 119 } | 11 } |
| 120 | 12 |
| 121 } // namespace content | 13 } // namespace content |
| OLD | NEW |