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