1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#ifndef CONTENT_PUBLIC_COMMON_RESOURCE_TYPE_H_
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define CONTENT_PUBLIC_COMMON_RESOURCE_TYPE_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "content/common/content_export.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace content {
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
125f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// Used in histograms, so please add new types at the end, and rename unused
135f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// entries to RESOURCETYPE_UNUSED_0, etc...
145f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)enum ResourceType {
155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_MAIN_FRAME = 0,  // top level page
165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_SUB_FRAME,       // frame or iframe
175f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_STYLESHEET,      // a CSS stylesheet
185f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_SCRIPT,          // an external script
195f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_IMAGE,           // an image (jpg/gif/png/etc)
205f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_FONT_RESOURCE,   // a font
215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_SUB_RESOURCE,    // an "other" subresource.
225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_OBJECT,          // an object (or embed) tag for a plugin,
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)                                 // or a resource that a plugin requested.
245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_MEDIA,           // a media resource.
255f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_WORKER,          // the main resource of a dedicated worker.
265f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_SHARED_WORKER,   // the main resource of a shared worker.
275f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_PREFETCH,        // an explicitly requested prefetch
285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_FAVICON,         // a favicon
295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_XHR,             // a XMLHttpRequest
305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_PING,            // a ping request for <a ping>
315f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_SERVICE_WORKER,  // the main resource of a service worker.
325f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)  RESOURCE_TYPE_LAST_TYPE
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
34116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)CONTENT_EXPORT bool IsResourceTypeFrame(ResourceType type);
365f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)
37116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace content
38116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
39116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#endif  // CONTENT_PUBLIC_COMMON_RESOURCE_TYPE_H_
40