Upstream version 9.37.197.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / devtools / front_end / sdk / ResourceType.js
1 /*
2  * Copyright (C) 2012 Google Inc.  All rights reserved.
3  * Copyright (C) 2007, 2008 Apple Inc.  All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1.  Redistributions of source code must retain the above copyright
10  *     notice, this list of conditions and the following disclaimer.
11  * 2.  Redistributions in binary form must reproduce the above copyright
12  *     notice, this list of conditions and the following disclaimer in the
13  *     documentation and/or other materials provided with the distribution.
14  * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
15  *     its contributors may be used to endorse or promote products derived
16  *     from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
19  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
22  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28  */
29
30 /**
31  * @constructor
32  * @param {string} name
33  * @param {string} title
34  * @param {string} categoryTitle
35  * @param {string} color
36  * @param {boolean} isTextType
37  */
38 WebInspector.ResourceType = function(name, title, categoryTitle, color, isTextType)
39 {
40     this._name = name;
41     this._title = title;
42     this._categoryTitle = categoryTitle;
43     this._color = color;
44     this._isTextType = isTextType;
45 }
46
47 WebInspector.ResourceType.prototype = {
48     /**
49      * @return {string}
50      */
51     name: function()
52     {
53         return this._name;
54     },
55
56     /**
57      * @return {string}
58      */
59     title: function()
60     {
61         return this._title;
62     },
63
64     /**
65      * @return {string}
66      */
67     categoryTitle: function()
68     {
69         return this._categoryTitle;
70     },
71
72     /**
73      * @return {string}
74      */
75     color: function()
76     {
77         return this._color;
78     },
79
80     /**
81      * @return {boolean}
82      */
83     isTextType: function()
84     {
85         return this._isTextType;
86     },
87
88     /**
89      * @return {string}
90      */
91     toString: function()
92     {
93         return this._name;
94     },
95
96     /**
97      * @return {string}
98      */
99     canonicalMimeType: function()
100     {
101         if (this === WebInspector.resourceTypes.Document)
102             return "text/html";
103         if (this === WebInspector.resourceTypes.Script)
104             return "text/javascript";
105         if (this === WebInspector.resourceTypes.Stylesheet)
106             return "text/css";
107         return "";
108     }
109 }
110
111 /**
112  * Keep these in sync with WebCore::InspectorPageAgent::resourceTypeJson
113  * @enum {!WebInspector.ResourceType}
114  */
115 WebInspector.resourceTypes = {
116     Document: new WebInspector.ResourceType("document", "Document", "Documents", "rgb(47,102,236)", true),
117     Stylesheet: new WebInspector.ResourceType("stylesheet", "Stylesheet", "Stylesheets", "rgb(157,231,119)", true),
118     Image: new WebInspector.ResourceType("image", "Image", "Images", "rgb(164,60,255)", false),
119     Media: new WebInspector.ResourceType("media", "Media", "Media", "rgb(164,60,255)", false), // FIXME: Decide the color.
120     Script: new WebInspector.ResourceType("script", "Script", "Scripts", "rgb(255,121,0)", true),
121     XHR: new WebInspector.ResourceType("xhr", "XHR", "XHR", "rgb(231,231,10)", true),
122     Font: new WebInspector.ResourceType("font", "Font", "Fonts", "rgb(255,82,62)", false),
123     TextTrack: new WebInspector.ResourceType("texttrack", "TextTrack", "TextTracks", "rgb(164,60,255)", true), // FIXME: Decide the color.
124     WebSocket: new WebInspector.ResourceType("websocket", "WebSocket", "WebSockets", "rgb(186,186,186)", false), // FIXME: Decide the color.
125     Other: new WebInspector.ResourceType("other", "Other", "Other", "rgb(186,186,186)", false)
126 }
127
128 WebInspector.ResourceType.mimeTypesForExtensions = {
129     // Web extensions
130     "js": "text/javascript",
131     "css": "text/css",
132     "html": "text/html",
133     "htm": "text/html",
134     "xml": "application/xml",
135     "xsl": "application/xml",
136
137     // HTML Embedded Scripts: ASP, JSP
138     "asp": "application/x-aspx",
139     "aspx": "application/x-aspx",
140     "jsp": "application/x-jsp",
141
142     // C/C++
143     "c": "text/x-c++src",
144     "cc": "text/x-c++src",
145     "cpp": "text/x-c++src",
146     "h": "text/x-c++src",
147     "m": "text/x-c++src",
148     "mm": "text/x-c++src",
149
150     // CoffeeScript
151     "coffee": "text/x-coffeescript",
152
153     // Dart
154     "dart": "text/javascript",
155
156     // TypeScript
157     "ts": "text/typescript",
158
159     // JSON
160     "json": "application/json",
161     "gyp": "application/json",
162     "gypi": "application/json",
163
164     // C#
165     "cs": "text/x-csharp",
166
167     // Java
168     "java": "text/x-java",
169
170     // PHP
171     "php": "text/x-php",
172     "phtml": "application/x-httpd-php",
173
174     // Python
175     "py": "text/x-python",
176
177     // Shell
178     "sh": "text/x-sh",
179
180     // SCSS
181     "scss": "text/x-scss",
182
183     // Video Text Tracks.
184     "vtt": "text/vtt"
185 }