OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. |
3 * Copyright (C) 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2011 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
62 delete this._expandedSections[section.title]; | 62 delete this._expandedSections[section.title]; |
63 } | 63 } |
64 | 64 |
65 this._sections = []; | 65 this._sections = []; |
66 | 66 |
67 var foundLocalScope = false; | 67 var foundLocalScope = false; |
68 var scopeChain = callFrame.scopeChain; | 68 var scopeChain = callFrame.scopeChain; |
69 for (var i = 0; i < scopeChain.length; ++i) { | 69 for (var i = 0; i < scopeChain.length; ++i) { |
70 var scope = scopeChain[i]; | 70 var scope = scopeChain[i]; |
71 var title = null; | 71 var title = null; |
72 var subtitle = scope.object.description; | |
73 var emptyPlaceholder = null; | 72 var emptyPlaceholder = null; |
74 var extraProperties = []; | 73 var extraProperties = []; |
75 var declarativeScope; | 74 var declarativeScope = true; |
76 | 75 |
77 switch (scope.type) { | 76 switch (scope.type) { |
78 case DebuggerAgent.ScopeType.Local: | 77 case DebuggerAgent.ScopeType.Local: |
79 foundLocalScope = true; | 78 foundLocalScope = true; |
80 title = WebInspector.UIString("Local"); | 79 title = WebInspector.UIString("Local"); |
81 emptyPlaceholder = WebInspector.UIString("No Variables"); | 80 emptyPlaceholder = WebInspector.UIString("No Variables"); |
82 subtitle = undefined; | |
83 var thisObject = callFrame.thisObject(); | 81 var thisObject = callFrame.thisObject(); |
84 if (thisObject) | 82 if (thisObject) |
85 extraProperties.push(new WebInspector.RemoteObjectProperty("
this", thisObject)); | 83 extraProperties.push(new WebInspector.RemoteObjectProperty("
this", thisObject)); |
86 if (i == 0) { | 84 if (i == 0) { |
87 var details = callFrame.target().debuggerModel.debuggerPause
dDetails(); | 85 var details = callFrame.target().debuggerModel.debuggerPause
dDetails(); |
88 if (!callFrame.isAsync()) { | 86 if (!callFrame.isAsync()) { |
89 var exception = details.exception(); | 87 var exception = details.exception(); |
90 if (exception) | 88 if (exception) |
91 extraProperties.push(new WebInspector.RemoteObjectPr
operty("<exception>", exception)); | 89 extraProperties.push(new WebInspector.RemoteObjectPr
operty("<exception>", exception)); |
92 } | 90 } |
93 var returnValue = callFrame.returnValue(); | 91 var returnValue = callFrame.returnValue(); |
94 if (returnValue) | 92 if (returnValue) |
95 extraProperties.push(new WebInspector.RemoteObjectProper
ty("<return>", returnValue)); | 93 extraProperties.push(new WebInspector.RemoteObjectProper
ty("<return>", returnValue)); |
96 } | 94 } |
97 declarativeScope = true; | |
98 break; | 95 break; |
99 case DebuggerAgent.ScopeType.Closure: | 96 case DebuggerAgent.ScopeType.Closure: |
100 title = WebInspector.UIString("Closure"); | 97 title = WebInspector.UIString("Closure"); |
101 emptyPlaceholder = WebInspector.UIString("No Variables"); | 98 emptyPlaceholder = WebInspector.UIString("No Variables"); |
102 subtitle = undefined; | |
103 declarativeScope = true; | |
104 break; | 99 break; |
105 case DebuggerAgent.ScopeType.Catch: | 100 case DebuggerAgent.ScopeType.Catch: |
106 title = WebInspector.UIString("Catch"); | 101 title = WebInspector.UIString("Catch"); |
107 subtitle = undefined; | 102 break; |
108 declarativeScope = true; | 103 case DebuggerAgent.ScopeType.Block: |
| 104 title = WebInspector.UIString("Block"); |
| 105 break; |
| 106 case DebuggerAgent.ScopeType.Script: |
| 107 title = WebInspector.UIString("Script"); |
109 break; | 108 break; |
110 case DebuggerAgent.ScopeType.With: | 109 case DebuggerAgent.ScopeType.With: |
111 title = WebInspector.UIString("With Block"); | 110 title = WebInspector.UIString("With Block"); |
112 declarativeScope = false; | 111 declarativeScope = false; |
113 break; | 112 break; |
114 case DebuggerAgent.ScopeType.Global: | 113 case DebuggerAgent.ScopeType.Global: |
115 title = WebInspector.UIString("Global"); | 114 title = WebInspector.UIString("Global"); |
116 declarativeScope = false; | 115 declarativeScope = false; |
117 break; | 116 break; |
118 } | 117 } |
119 | 118 |
| 119 var subtitle = declarativeScope ? undefined : scope.object.descripti
on; |
120 if (!title || title === subtitle) | 120 if (!title || title === subtitle) |
121 subtitle = undefined; | 121 subtitle = undefined; |
122 | 122 |
123 var runtimeModel = callFrame.target().runtimeModel; | 123 var runtimeModel = callFrame.target().runtimeModel; |
124 if (declarativeScope) | 124 if (declarativeScope) |
125 var scopeObject = runtimeModel.createScopeRemoteObject(scope.obj
ect, new WebInspector.ScopeRef(i, callFrame.id, undefined)); | 125 var scopeObject = runtimeModel.createScopeRemoteObject(scope.obj
ect, new WebInspector.ScopeRef(i, callFrame.id, undefined)); |
126 else | 126 else |
127 var scopeObject = runtimeModel.createRemoteObject(scope.object); | 127 var scopeObject = runtimeModel.createRemoteObject(scope.object); |
128 | 128 |
129 var section = new WebInspector.ObjectPropertiesSection(scopeObject,
title, subtitle, emptyPlaceholder, true, extraProperties, WebInspector.ScopeVari
ableTreeElement); | 129 var section = new WebInspector.ObjectPropertiesSection(scopeObject,
title, subtitle, emptyPlaceholder, true, extraProperties, WebInspector.ScopeVari
ableTreeElement); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 { | 175 { |
176 if ("_propertyIdentifier" in this) | 176 if ("_propertyIdentifier" in this) |
177 return this._propertyIdentifier; | 177 return this._propertyIdentifier; |
178 var section = this.treeOutline.section; | 178 var section = this.treeOutline.section; |
179 this._propertyIdentifier = section.title + ":" + (section.subtitle ? sec
tion.subtitle + ":" : "") + this.propertyPath(); | 179 this._propertyIdentifier = section.title + ":" + (section.subtitle ? sec
tion.subtitle + ":" : "") + this.propertyPath(); |
180 return this._propertyIdentifier; | 180 return this._propertyIdentifier; |
181 }, | 181 }, |
182 | 182 |
183 __proto__: WebInspector.ObjectPropertyTreeElement.prototype | 183 __proto__: WebInspector.ObjectPropertyTreeElement.prototype |
184 } | 184 } |
OLD | NEW |