Index: resources/inspector/ScopeChainSidebarPane.js |
=================================================================== |
--- resources/inspector/ScopeChainSidebarPane.js (revision 33840) |
+++ resources/inspector/ScopeChainSidebarPane.js (working copy) |
@@ -1,148 +0,0 @@ |
-/* |
- * Copyright (C) 2008 Apple Inc. All Rights Reserved. |
- * |
- * Redistribution and use in source and binary forms, with or without |
- * modification, are permitted provided that the following conditions |
- * are met: |
- * 1. Redistributions of source code must retain the above copyright |
- * notice, this list of conditions and the following disclaimer. |
- * 2. Redistributions in binary form must reproduce the above copyright |
- * notice, this list of conditions and the following disclaimer in the |
- * documentation and/or other materials provided with the distribution. |
- * |
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY |
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR |
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- */ |
- |
-WebInspector.ScopeChainSidebarPane = function() |
-{ |
- WebInspector.SidebarPane.call(this, WebInspector.UIString("Scope Variables")); |
- this._expandedProperties = []; |
-} |
- |
-WebInspector.ScopeChainSidebarPane.prototype = { |
- update: function(callFrame) |
- { |
- this.bodyElement.removeChildren(); |
- |
- this.sections = []; |
- this.callFrame = callFrame; |
- |
- if (!callFrame) { |
- var infoElement = document.createElement("div"); |
- infoElement.className = "info"; |
- infoElement.textContent = WebInspector.UIString("Not Paused"); |
- this.bodyElement.appendChild(infoElement); |
- return; |
- } |
- |
- var foundLocalScope = false; |
- var scopeChain = callFrame.scopeChain; |
- for (var i = 0; i < scopeChain.length; ++i) { |
- var scopeObjectProxy = scopeChain[i]; |
- var title = null; |
- var subtitle = scopeObjectProxy.description; |
- var emptyPlaceholder = null; |
- var extraProperties = null; |
- |
- if (scopeObjectProxy.isLocal) { |
- foundLocalScope = true; |
- title = WebInspector.UIString("Local"); |
- emptyPlaceholder = WebInspector.UIString("No Variables"); |
- subtitle = null; |
- if (scopeObjectProxy.thisObject) |
- extraProperties = [ new WebInspector.ObjectPropertyProxy("this", scopeObjectProxy.thisObject) ]; |
- } else if (scopeObjectProxy.isClosure) { |
- title = WebInspector.UIString("Closure"); |
- emptyPlaceholder = WebInspector.UIString("No Variables"); |
- subtitle = null; |
- } else if (i === (scopeChain.length - 1)) |
- title = WebInspector.UIString("Global"); |
- else if (scopeObjectProxy.isElement) |
- title = WebInspector.UIString("Event Target"); |
- else if (scopeObjectProxy.isDocument) |
- title = WebInspector.UIString("Event Document"); |
- else if (scopeObjectProxy.isWithBlock) |
- title = WebInspector.UIString("With Block"); |
- |
- if (!title || title === subtitle) |
- subtitle = null; |
- |
- var section = new WebInspector.ObjectPropertiesSection(scopeObjectProxy, title, subtitle, emptyPlaceholder, true, extraProperties, WebInspector.ScopeVariableTreeElement); |
- section.editInSelectedCallFrameWhenPaused = true; |
- section.pane = this; |
- |
- if (!foundLocalScope || scopeObjectProxy.isLocal) |
- section.expanded = true; |
- |
- this.sections.push(section); |
- this.bodyElement.appendChild(section.element); |
- } |
- } |
-} |
- |
-WebInspector.ScopeChainSidebarPane.prototype.__proto__ = WebInspector.SidebarPane.prototype; |
- |
-WebInspector.ScopeVariableTreeElement = function(property) |
-{ |
- WebInspector.ObjectPropertyTreeElement.call(this, property); |
-} |
- |
-WebInspector.ScopeVariableTreeElement.prototype = { |
- onattach: function() |
- { |
- WebInspector.ObjectPropertyTreeElement.prototype.onattach.call(this); |
- if (this.hasChildren && this.propertyIdentifier in this.treeOutline.section.pane._expandedProperties) |
- this.expand(); |
- }, |
- |
- onexpand: function() |
- { |
- this.treeOutline.section.pane._expandedProperties[this.propertyIdentifier] = true; |
- }, |
- |
- oncollapse: function() |
- { |
- delete this.treeOutline.section.pane._expandedProperties[this.propertyIdentifier]; |
- }, |
- |
- get propertyIdentifier() |
- { |
- if ("_propertyIdentifier" in this) |
- return this._propertyIdentifier; |
- var section = this.treeOutline.section; |
- this._propertyIdentifier = section.title + ":" + (section.subtitle ? section.subtitle + ":" : "") + this.propertyPath; |
- return this._propertyIdentifier; |
- }, |
- |
- get propertyPath() |
- { |
- if ("_propertyPath" in this) |
- return this._propertyPath; |
- |
- var current = this; |
- var result; |
- |
- do { |
- if (result) |
- result = current.property.name + "." + result; |
- else |
- result = current.property.name; |
- current = current.parent; |
- } while (current && !current.root); |
- |
- this._propertyPath = result; |
- return result; |
- } |
-} |
- |
-WebInspector.ScopeVariableTreeElement.prototype.__proto__ = WebInspector.ObjectPropertyTreeElement.prototype; |