1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef WEBKIT_COMMON_RESOURCE_TYPE_H__
6 #define WEBKIT_COMMON_RESOURCE_TYPE_H__
8 #include "base/basictypes.h"
9 #include "third_party/WebKit/public/platform/WebURLRequest.h"
10 #include "webkit/common/webkit_common_export.h"
14 // Used in histograms, so please add new types at the end, and rename unused
15 // entries to RESOURCETYPE_UNUSED_0, etc...
17 MAIN_FRAME
= 0, // top level page
18 SUB_FRAME
, // frame or iframe
19 STYLESHEET
, // a CSS stylesheet
20 SCRIPT
, // an external script
21 IMAGE
, // an image (jpg/gif/png/etc)
22 FONT_RESOURCE
, // a font
23 SUB_RESOURCE
, // an "other" subresource.
24 OBJECT
, // an object (or embed) tag for a plugin,
25 // or a resource that a plugin requested.
26 MEDIA
, // a media resource.
27 WORKER
, // the main resource of a dedicated worker.
28 SHARED_WORKER
, // the main resource of a shared worker.
29 PREFETCH
, // an explicitly requested prefetch
31 XHR
, // a XMLHttpRequest
32 LAST_TYPE
// Place holder so we don't need to change ValidType
36 static bool ValidType(int32 type
) {
37 return type
>= MAIN_FRAME
&& type
< LAST_TYPE
;
40 static Type
FromInt(int32 type
) {
41 return static_cast<Type
>(type
);
44 WEBKIT_COMMON_EXPORT
static Type
FromTargetType(
45 WebKit::WebURLRequest::TargetType type
);
47 static bool IsFrame(ResourceType::Type type
) {
48 return type
== MAIN_FRAME
|| type
== SUB_FRAME
;
51 static bool IsSharedWorker(ResourceType::Type type
) {
52 return type
== SHARED_WORKER
;
55 static bool IsSubresource(ResourceType::Type type
) {
56 return type
== STYLESHEET
||
59 type
== FONT_RESOURCE
||
60 type
== SUB_RESOURCE
||
66 // Don't instantiate this class.
70 #endif // WEBKIT_COMMON_RESOURCE_TYPE_H__