| 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" | 7 #include "base/logging.h" |
| 8 | 8 |
| 9 using blink::WebURLRequest; | 9 using blink::WebURLRequest; |
| 10 | 10 |
| 11 namespace content { | 11 namespace content { |
| 12 | 12 |
| 13 // static | 13 // static |
| 14 ResourceType::Type ResourceType::FromTargetType( | 14 ResourceType::Type ResourceType::FromWebURLRequest( |
| 15 WebURLRequest::TargetType type) { | 15 const WebURLRequest& request) { |
| 16 switch (type) { | 16 WebURLRequest::RequestContext requestContext = request.requestContext(); |
| 17 case WebURLRequest::TargetIsMainFrame: | 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) { |
| 18 return ResourceType::MAIN_FRAME; | 26 return ResourceType::MAIN_FRAME; |
| 19 case WebURLRequest::TargetIsSubframe: | 27 } |
| 28 if (request.frameType() == WebURLRequest::FrameTypeNested) |
| 20 return ResourceType::SUB_FRAME; | 29 return ResourceType::SUB_FRAME; |
| 21 case WebURLRequest::TargetIsSubresource: | 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: |
| 22 return ResourceType::SUB_RESOURCE; | 81 return ResourceType::SUB_RESOURCE; |
| 23 case WebURLRequest::TargetIsStyleSheet: | 82 |
| 24 return ResourceType::STYLESHEET; | 83 // TextTrack |
| 25 case WebURLRequest::TargetIsScript: | 84 case WebURLRequest::RequestContextTrack: |
| 26 return ResourceType::SCRIPT; | |
| 27 case WebURLRequest::TargetIsFontResource: | |
| 28 return ResourceType::FONT_RESOURCE; | |
| 29 case WebURLRequest::TargetIsImage: | |
| 30 return ResourceType::IMAGE; | |
| 31 case WebURLRequest::TargetIsObject: | |
| 32 return ResourceType::OBJECT; | |
| 33 case WebURLRequest::TargetIsMedia: | |
| 34 return ResourceType::MEDIA; | 85 return ResourceType::MEDIA; |
| 35 case WebURLRequest::TargetIsWorker: | 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: |
| 36 return ResourceType::WORKER; | 93 return ResourceType::WORKER; |
| 37 case WebURLRequest::TargetIsSharedWorker: | 94 |
| 38 return ResourceType::SHARED_WORKER; | 95 // Unspecified |
| 39 case WebURLRequest::TargetIsPrefetch: | 96 case WebURLRequest::RequestContextInternal: |
| 40 return ResourceType::PREFETCH; | 97 case WebURLRequest::RequestContextUnspecified: |
| 41 case WebURLRequest::TargetIsFavicon: | 98 return ResourceType::SUB_RESOURCE; |
| 42 return ResourceType::FAVICON; | 99 |
| 43 case WebURLRequest::TargetIsXHR: | 100 // XHR |
| 101 case WebURLRequest::RequestContextEventSource: |
| 102 case WebURLRequest::RequestContextFetch: |
| 103 case WebURLRequest::RequestContextXMLHttpRequest: |
| 44 return ResourceType::XHR; | 104 return ResourceType::XHR; |
| 45 case WebURLRequest::TargetIsPing: | 105 |
| 46 return ResourceType::PING; | 106 // These should be handled by the FrameType checks at the top of the |
| 47 case WebURLRequest::TargetIsServiceWorker: | 107 // function. |
| 48 return ResourceType::SERVICE_WORKER; | 108 // Main Frame |
| 49 default: | 109 case WebURLRequest::RequestContextForm: |
| 110 case WebURLRequest::RequestContextHyperlink: |
| 111 case WebURLRequest::RequestContextLocation: |
| 112 case WebURLRequest::RequestContextFrame: |
| 113 case WebURLRequest::RequestContextIframe: |
| 50 NOTREACHED(); | 114 NOTREACHED(); |
| 51 return ResourceType::SUB_RESOURCE; | 115 return ResourceType::SUB_RESOURCE; |
| 52 } | 116 } |
| 117 NOTREACHED(); |
| 118 return ResourceType::SUB_RESOURCE; |
| 53 } | 119 } |
| 54 | 120 |
| 55 } // namespace content | 121 } // namespace content |
| OLD | NEW |