2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) IBM Corp. 2009 All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
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.
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.
31 * @extends {WebInspector.VBox}
34 WebInspector.ResourceView = function(resource)
36 WebInspector.VBox.call(this);
37 this.registerRequiredCSS("resourceView.css");
39 this.element.classList.add("resource-view");
40 this.resource = resource;
43 WebInspector.ResourceView.prototype = {
47 hasContent: function()
52 __proto__: WebInspector.VBox.prototype
56 * @param {!WebInspector.Resource} resource
59 WebInspector.ResourceView.hasTextContent = function(resource)
61 if (resource.type.isTextType())
63 if (resource.type === WebInspector.resourceTypes.Other)
64 return !!resource.content && !resource.contentEncoded;
69 * @param {!WebInspector.Resource} resource
71 WebInspector.ResourceView.nonSourceViewForResource = function(resource)
73 switch (resource.type) {
74 case WebInspector.resourceTypes.Image:
75 return new WebInspector.ImageView(resource);
76 case WebInspector.resourceTypes.Font:
77 return new WebInspector.FontView(resource);
79 return new WebInspector.ResourceView(resource);
84 * @extends {WebInspector.SourceFrame}
86 * @param {!WebInspector.Resource} resource
88 WebInspector.ResourceSourceFrame = function(resource)
90 this._resource = resource;
91 WebInspector.SourceFrame.call(this, resource);
94 WebInspector.ResourceSourceFrame.prototype = {
97 return this._resource;
100 populateTextAreaContextMenu: function(contextMenu, lineNumber)
102 contextMenu.appendApplicableItems(this._resource);
105 __proto__: WebInspector.SourceFrame.prototype
110 * @extends {WebInspector.VBox}
111 * @param {!WebInspector.Resource} resource
113 WebInspector.ResourceSourceFrameFallback = function(resource)
115 WebInspector.VBox.call(this);
116 this._resource = resource;
117 this.element.classList.add("script-view");
118 this._content = this.element.createChild("div", "script-view-fallback monospace");
121 WebInspector.ResourceSourceFrameFallback.prototype = {
124 if (!this._contentRequested) {
125 this._contentRequested = true;
126 this._resource.requestContent(this._contentLoaded.bind(this));
131 * @param {?string} content
133 _contentLoaded: function(content)
135 this._content.textContent = content;
138 __proto__: WebInspector.VBox.prototype