| 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) 2009 Joseph Pecoraro | 3 * Copyright (C) 2009 Joseph Pecoraro |
| 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 11 matching lines...) Expand all Loading... |
| 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| 25 */ | 25 */ |
| 26 | 26 |
| 27 /** | 27 /** |
| 28 * @constructor | 28 * @constructor |
| 29 * @extends {TreeOutlineInShadow} | 29 * @extends {TreeOutlineInShadow} |
| 30 * @param {!WebInspector.RemoteObject} object | 30 * @param {!WebInspector.RemoteObject} object |
| 31 * @param {?string|!Element=} title | 31 * @param {?string|!Element=} title |
| 32 * @param {?string|!Element=} expandedTitle |
| 32 * @param {?string=} emptyPlaceholder | 33 * @param {?string=} emptyPlaceholder |
| 33 * @param {boolean=} ignoreHasOwnProperty | 34 * @param {boolean=} ignoreHasOwnProperty |
| 34 * @param {!Array.<!WebInspector.RemoteObjectProperty>=} extraProperties | 35 * @param {!Array.<!WebInspector.RemoteObjectProperty>=} extraProperties |
| 35 */ | 36 */ |
| 36 WebInspector.ObjectPropertiesSection = function(object, title, emptyPlaceholder,
ignoreHasOwnProperty, extraProperties) | 37 WebInspector.ObjectPropertiesSection = function(object, title, expandedTitle, em
ptyPlaceholder, ignoreHasOwnProperty, extraProperties) |
| 37 { | 38 { |
| 38 this._object = object; | 39 this._object = object; |
| 39 this._editable = true; | 40 this._editable = true; |
| 40 TreeOutlineInShadow.call(this); | 41 TreeOutlineInShadow.call(this); |
| 41 this.hideOverflow(); | 42 this.hideOverflow(); |
| 42 this.setFocusable(false); | 43 this.setFocusable(false); |
| 43 this._objectTreeElement = new WebInspector.ObjectPropertiesSection.RootEleme
nt(object, emptyPlaceholder, ignoreHasOwnProperty, extraProperties); | 44 this._objectTreeElement = new WebInspector.ObjectPropertiesSection.RootEleme
nt(object, emptyPlaceholder, ignoreHasOwnProperty, extraProperties); |
| 44 this.appendChild(this._objectTreeElement); | 45 this.appendChild(this._objectTreeElement); |
| 45 if (typeof title === "string" || !title) | 46 if (typeof title === "string" || !title) { |
| 46 this.element.createChild("span").textContent = title || ""; | 47 this.titleElement = this.element.createChild("span"); |
| 47 else | 48 this.titleElement.textContent = title || ""; |
| 49 } else { |
| 50 this.titleElement = title; |
| 48 this.element.appendChild(title); | 51 this.element.appendChild(title); |
| 52 } |
| 53 |
| 54 if (typeof expandedTitle === "string") { |
| 55 this.expandedTitleElement = this.element.createChild("span"); |
| 56 this.expandedTitleElement.textContent = expandedTitle || ""; |
| 57 } else if (!!expandedTitle) { |
| 58 this.expandedTitleElement = expandedTitle; |
| 59 this.element.appendChild(expandedTitle); |
| 60 } |
| 61 |
| 62 if (!!expandedTitle) |
| 63 this.expandedTitleElement.classList.add("hidden"); |
| 49 | 64 |
| 50 this.element._section = this; | 65 this.element._section = this; |
| 51 this.registerRequiredCSS("components/objectValue.css"); | 66 this.registerRequiredCSS("components/objectValue.css"); |
| 52 this.registerRequiredCSS("components/objectPropertiesSection.css"); | 67 this.registerRequiredCSS("components/objectPropertiesSection.css"); |
| 53 this.rootElement().childrenListElement.classList.add("source-code", "object-
properties-section"); | 68 this.rootElement().childrenListElement.classList.add("source-code", "object-
properties-section"); |
| 54 } | 69 } |
| 55 | 70 |
| 56 /** @const */ | 71 /** @const */ |
| 57 WebInspector.ObjectPropertiesSection._arrayLoadThreshold = 100; | 72 WebInspector.ObjectPropertiesSection._arrayLoadThreshold = 100; |
| 58 | 73 |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 this.setExpandable(true); | 180 this.setExpandable(true); |
| 166 this.selectable = false; | 181 this.selectable = false; |
| 167 this.toggleOnClick = true; | 182 this.toggleOnClick = true; |
| 168 this.listItemElement.classList.add("object-properties-section-root-element")
; | 183 this.listItemElement.classList.add("object-properties-section-root-element")
; |
| 169 } | 184 } |
| 170 | 185 |
| 171 WebInspector.ObjectPropertiesSection.RootElement.prototype = { | 186 WebInspector.ObjectPropertiesSection.RootElement.prototype = { |
| 172 | 187 |
| 173 onexpand: function() | 188 onexpand: function() |
| 174 { | 189 { |
| 175 if (this.treeOutline) | 190 if (this.treeOutline) { |
| 176 this.treeOutline.element.classList.add("expanded"); | 191 this.treeOutline.element.classList.add("expanded"); |
| 192 if (this.treeOutline.expandedTitleElement) { |
| 193 this.treeOutline.titleElement.classList.add("hidden"); |
| 194 this.treeOutline.expandedTitleElement.classList.remove("hidden")
; |
| 195 } |
| 196 } |
| 177 }, | 197 }, |
| 178 | 198 |
| 179 oncollapse: function() | 199 oncollapse: function() |
| 180 { | 200 { |
| 181 if (this.treeOutline) | 201 if (this.treeOutline) { |
| 182 this.treeOutline.element.classList.remove("expanded"); | 202 this.treeOutline.element.classList.remove("expanded"); |
| 203 if (this.treeOutline.expandedTitleElement) { |
| 204 this.treeOutline.titleElement.classList.remove("hidden"); |
| 205 this.treeOutline.expandedTitleElement.classList.add("hidden"); |
| 206 } |
| 207 } |
| 183 }, | 208 }, |
| 184 | 209 |
| 185 /** | 210 /** |
| 186 * @override | 211 * @override |
| 187 * @param {!Event} e | 212 * @param {!Event} e |
| 188 * @return {boolean} | 213 * @return {boolean} |
| 189 */ | 214 */ |
| 190 ondblclick: function(e) | 215 ondblclick: function(e) |
| 191 { | 216 { |
| 192 return true; | 217 return true; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 var targetValue = this.property.name !== "__proto__" ? propertyValue : t
his.property.parentObject; | 295 var targetValue = this.property.name !== "__proto__" ? propertyValue : t
his.property.parentObject; |
| 271 WebInspector.ObjectPropertyTreeElement._populate(this, propertyValue, sk
ipProto, undefined, undefined, undefined, targetValue); | 296 WebInspector.ObjectPropertyTreeElement._populate(this, propertyValue, sk
ipProto, undefined, undefined, undefined, targetValue); |
| 272 }, | 297 }, |
| 273 | 298 |
| 274 /** | 299 /** |
| 275 * @override | 300 * @override |
| 276 * @return {boolean} | 301 * @return {boolean} |
| 277 */ | 302 */ |
| 278 ondblclick: function(event) | 303 ondblclick: function(event) |
| 279 { | 304 { |
| 280 var editableElement = this.valueElement; | 305 var inEditableElement = event.target.isSelfOrDescendant(this.valueElemen
t) || (this.expandedValueElement && event.target.isSelfOrDescendant(this.expande
dValueElement)); |
| 281 if (!this.property.value.customPreview() && (this.property.writable || t
his.property.setter) && event.target.isSelfOrDescendant(editableElement)) | 306 if (!this.property.value.customPreview() && inEditableElement && (this.p
roperty.writable || this.property.setter)) |
| 282 this._startEditing(); | 307 this._startEditing(); |
| 283 return false; | 308 return false; |
| 284 }, | 309 }, |
| 285 | 310 |
| 286 /** | 311 /** |
| 287 * @override | 312 * @override |
| 288 */ | 313 */ |
| 289 onattach: function() | 314 onattach: function() |
| 290 { | 315 { |
| 291 this.update(); | 316 this.update(); |
| 292 this._updateExpandable(); | 317 this._updateExpandable(); |
| 293 }, | 318 }, |
| 294 | 319 |
| 320 /** |
| 321 * @override |
| 322 */ |
| 323 onexpand: function() |
| 324 { |
| 325 this.valueElement.classList.add("hidden"); |
| 326 if (this.expandedValueElement) |
| 327 this.expandedValueElement.classList.remove("hidden"); |
| 328 }, |
| 329 |
| 330 /** |
| 331 * @override |
| 332 */ |
| 333 oncollapse: function() |
| 334 { |
| 335 this.valueElement.classList.remove("hidden"); |
| 336 if (this.expandedValueElement) |
| 337 this.expandedValueElement.classList.add("hidden"); |
| 338 }, |
| 339 |
| 295 update: function() | 340 update: function() |
| 296 { | 341 { |
| 297 this.nameElement = WebInspector.ObjectPropertiesSection.createNameElemen
t(this.property.name); | 342 this.nameElement = WebInspector.ObjectPropertiesSection.createNameElemen
t(this.property.name); |
| 298 if (!this.property.enumerable) | 343 if (!this.property.enumerable) |
| 299 this.nameElement.classList.add("object-properties-section-dimmed"); | 344 this.nameElement.classList.add("object-properties-section-dimmed"); |
| 300 if (this.property.isAccessorProperty()) | 345 if (this.property.isAccessorProperty()) |
| 301 this.nameElement.classList.add("properties-accessor-property-name"); | 346 this.nameElement.classList.add("properties-accessor-property-name"); |
| 302 if (this.property.synthetic) | 347 if (this.property.synthetic) |
| 303 this.nameElement.classList.add("synthetic-property"); | 348 this.nameElement.classList.add("synthetic-property"); |
| 304 | 349 |
| 305 this._updatePropertyPath(); | 350 this._updatePropertyPath(); |
| 306 this.nameElement.addEventListener("contextmenu", this._contextMenuFired.
bind(this, this.property), false); | 351 this.nameElement.addEventListener("contextmenu", this._contextMenuFired.
bind(this, this.property), false); |
| 307 | 352 |
| 308 var separatorElement = createElementWithClass("span", "object-properties
-section-separator"); | 353 var separatorElement = createElementWithClass("span", "object-properties
-section-separator"); |
| 309 separatorElement.textContent = ": "; | 354 separatorElement.textContent = ": "; |
| 310 | 355 |
| 311 if (this.property.value) { | 356 if (this.property.value) { |
| 312 this.valueElement = WebInspector.ObjectPropertiesSection.createValue
ElementWithCustomSupport(this.property.value, this.property.wasThrown, this.list
ItemElement); | 357 this.valueElement = WebInspector.ObjectPropertiesSection.createValue
ElementWithCustomSupport(this.property.value, this.property.wasThrown, this.list
ItemElement); |
| 313 this.valueElement.addEventListener("contextmenu", this._contextMenuF
ired.bind(this, this.property), false); | 358 this.valueElement.addEventListener("contextmenu", this._contextMenuF
ired.bind(this, this.property), false); |
| 314 } else if (this.property.getter) { | 359 } else if (this.property.getter) { |
| 315 this.valueElement = WebInspector.ObjectPropertyTreeElement.createRem
oteObjectAccessorPropertySpan(this.property.parentObject, [this.property.name],
this._onInvokeGetterClick.bind(this)); | 360 this.valueElement = WebInspector.ObjectPropertyTreeElement.createRem
oteObjectAccessorPropertySpan(this.property.parentObject, [this.property.name],
this._onInvokeGetterClick.bind(this)); |
| 316 } else { | 361 } else { |
| 317 this.valueElement = createElementWithClass("span", "object-value-und
efined"); | 362 this.valueElement = createElementWithClass("span", "object-value-und
efined"); |
| 318 this.valueElement.textContent = WebInspector.UIString("<unreadable>"
); | 363 this.valueElement.textContent = WebInspector.UIString("<unreadable>"
); |
| 319 this.valueElement.title = WebInspector.UIString("No property getter"
); | 364 this.valueElement.title = WebInspector.UIString("No property getter"
); |
| 320 } | 365 } |
| 321 | 366 |
| 367 this.expandedValueElement = WebInspector.ObjectPropertiesSection.createD
escriptionValueElement(this.property.value); |
| 368 |
| 322 this.listItemElement.removeChildren(); | 369 this.listItemElement.removeChildren(); |
| 323 this.listItemElement.appendChildren(this.nameElement, separatorElement,
this.valueElement); | 370 this.listItemElement.appendChildren(this.nameElement, separatorElement,
this.valueElement); |
| 371 if (this.expandedValueElement) |
| 372 this.listItemElement.appendChild(this.expandedValueElement); |
| 324 }, | 373 }, |
| 325 | 374 |
| 326 _updatePropertyPath: function() | 375 _updatePropertyPath: function() |
| 327 { | 376 { |
| 328 if (this.nameElement.title) | 377 if (this.nameElement.title) |
| 329 return; | 378 return; |
| 330 | 379 |
| 331 var useDotNotation = /^(_|\$|[A-Z])(_|\$|[A-Z]|\d)*$/i; | 380 var useDotNotation = /^(_|\$|[A-Z])(_|\$|[A-Z]|\d)*$/i; |
| 332 var isInteger = /^[1-9]\d*$/; | 381 var isInteger = /^[1-9]\d*$/; |
| 333 var name = this.property.name; | 382 var name = this.property.name; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 356 contextMenu.show(); | 405 contextMenu.show(); |
| 357 }, | 406 }, |
| 358 | 407 |
| 359 _startEditing: function() | 408 _startEditing: function() |
| 360 { | 409 { |
| 361 if (this._prompt || !this.treeOutline._editable || this._readOnly) | 410 if (this._prompt || !this.treeOutline._editable || this._readOnly) |
| 362 return; | 411 return; |
| 363 | 412 |
| 364 this._editableDiv = this.listItemElement.createChild("span"); | 413 this._editableDiv = this.listItemElement.createChild("span"); |
| 365 | 414 |
| 366 var text = this.property.value.description; | 415 var text = this.valueElement.textContent || this.property.value.descript
ion; |
| 367 if (this.property.value.type === "string" && typeof text === "string") | 416 if (this.property.value.type === "object" && this.property.value.subtype
=== "array") { |
| 368 text = "\"" + text + "\""; | 417 var childNodes = Array.prototype.slice.call(this.valueElement.childN
odes); |
| 418 var hasLengthLabel = childNodes.length && childNodes[childNodes.leng
th - 1].classList.contains("object-value-array-length"); |
| 419 if (hasLengthLabel) |
| 420 text = childNodes.slice(0, childNodes.length - 1).map((el) => el
.textContent).join(""); |
| 421 } |
| 369 | 422 |
| 370 this._editableDiv.setTextContentTruncatedIfNeeded(text, WebInspector.UIS
tring("<string is too large to edit>")); | 423 this._editableDiv.setTextContentTruncatedIfNeeded(text, WebInspector.UIS
tring("<string is too large to edit>")); |
| 371 var originalContent = this._editableDiv.textContent; | 424 var originalContent = this._editableDiv.textContent; |
| 372 | 425 |
| 373 this.valueElement.classList.add("hidden"); | |
| 374 | |
| 375 // Lie about our children to prevent expanding on double click and to co
llapse subproperties. | 426 // Lie about our children to prevent expanding on double click and to co
llapse subproperties. |
| 376 this.setExpandable(false); | 427 this.setExpandable(false); |
| 377 this.listItemElement.classList.add("editing-sub-part"); | 428 this.listItemElement.classList.add("editing-sub-part"); |
| 429 this.valueElement.classList.add("hidden"); |
| 430 if (this.expandedValueElement) |
| 431 this.expandedValueElement.classList.add("hidden"); |
| 378 | 432 |
| 379 this._prompt = new WebInspector.ObjectPropertyPrompt(); | 433 this._prompt = new WebInspector.ObjectPropertyPrompt(); |
| 380 | 434 |
| 381 var proxyElement = this._prompt.attachAndStartEditing(this._editableDiv,
this._editingCommitted.bind(this, originalContent)); | 435 var proxyElement = this._prompt.attachAndStartEditing(this._editableDiv,
this._editingCommitted.bind(this, originalContent)); |
| 382 this.listItemElement.getComponentSelection().setBaseAndExtent(this._edit
ableDiv, 0, this._editableDiv, 1); | 436 this.listItemElement.getComponentSelection().setBaseAndExtent(this._edit
ableDiv, 0, this._editableDiv, 1); |
| 383 proxyElement.addEventListener("keydown", this._promptKeyDown.bind(this,
originalContent), false); | 437 proxyElement.addEventListener("keydown", this._promptKeyDown.bind(this,
originalContent), false); |
| 384 }, | 438 }, |
| 385 | 439 |
| 386 _editingEnded: function() | 440 _editingEnded: function() |
| 387 { | 441 { |
| 388 this._prompt.detach(); | 442 this._prompt.detach(); |
| 389 delete this._prompt; | 443 delete this._prompt; |
| 390 this._editableDiv.remove(); | 444 this._editableDiv.remove(); |
| 391 this._updateExpandable(); | 445 this._updateExpandable(); |
| 392 this.listItemElement.scrollLeft = 0; | 446 this.listItemElement.scrollLeft = 0; |
| 393 this.listItemElement.classList.remove("editing-sub-part"); | 447 this.listItemElement.classList.remove("editing-sub-part"); |
| 394 }, | 448 }, |
| 395 | 449 |
| 396 _editingCancelled: function() | 450 _editingCancelled: function() |
| 397 { | 451 { |
| 398 this.valueElement.classList.remove("hidden"); | 452 if (this.expanded && this.expandedValueElement) |
| 453 this.expandedValueElement.classList.remove("hidden"); |
| 454 else |
| 455 this.valueElement.classList.remove("hidden"); |
| 399 this._editingEnded(); | 456 this._editingEnded(); |
| 400 }, | 457 }, |
| 401 | 458 |
| 402 /** | 459 /** |
| 403 * @param {string} originalContent | 460 * @param {string} originalContent |
| 404 */ | 461 */ |
| 405 _editingCommitted: function(originalContent) | 462 _editingCommitted: function(originalContent) |
| 406 { | 463 { |
| 407 var userInput = this._prompt.text(); | 464 var userInput = this._prompt.text(); |
| 408 if (userInput === originalContent) { | 465 if (userInput === originalContent) { |
| (...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1184 } else if (type === "string" && typeof description === "string") { | 1241 } else if (type === "string" && typeof description === "string") { |
| 1185 // Render \n as a nice unicode cr symbol. | 1242 // Render \n as a nice unicode cr symbol. |
| 1186 prefix = "\""; | 1243 prefix = "\""; |
| 1187 valueText = description.replace(/\n/g, "\u21B5"); | 1244 valueText = description.replace(/\n/g, "\u21B5"); |
| 1188 suffix = "\""; | 1245 suffix = "\""; |
| 1189 } else if (type === "function") { | 1246 } else if (type === "function") { |
| 1190 valueText = WebInspector.ObjectPropertiesSection.valueTextForFunctionDes
cription(description); | 1247 valueText = WebInspector.ObjectPropertiesSection.valueTextForFunctionDes
cription(description); |
| 1191 } else if (type !== "object" || subtype !== "node") { | 1248 } else if (type !== "object" || subtype !== "node") { |
| 1192 valueText = description; | 1249 valueText = description; |
| 1193 } | 1250 } |
| 1194 if (type !== "number" || valueText.indexOf("e") === -1) { | 1251 |
| 1252 var previewFormatter = new WebInspector.RemoteObjectPreviewFormatter(); |
| 1253 if (type === "object" && !subtype && value.preview) { |
| 1254 previewFormatter.appendObjectPreview(valueElement, value.preview, true); |
| 1255 } else if (value.arrayLength && value.preview) { |
| 1256 previewFormatter.appendObjectPreview(valueElement, value.preview, true); |
| 1257 valueElement.createChild("span", "object-value-array-length").textConten
t = "(" + value.arrayLength() + ")"; |
| 1258 } else if (type !== "number" || valueText.indexOf("e") === -1) { |
| 1195 valueElement.setTextContentTruncatedIfNeeded(valueText || ""); | 1259 valueElement.setTextContentTruncatedIfNeeded(valueText || ""); |
| 1196 if (prefix) | 1260 if (prefix) |
| 1197 valueElement.insertBefore(createTextNode(prefix), valueElement.first
Child); | 1261 valueElement.insertBefore(createTextNode(prefix), valueElement.first
Child); |
| 1198 if (suffix) | 1262 if (suffix) |
| 1199 valueElement.createTextChild(suffix); | 1263 valueElement.createTextChild(suffix); |
| 1200 } else { | 1264 } else { |
| 1201 var numberParts = valueText.split("e"); | 1265 var numberParts = valueText.split("e"); |
| 1202 var mantissa = valueElement.createChild("span", "object-value-scientific
-notation-mantissa"); | 1266 var mantissa = valueElement.createChild("span", "object-value-scientific
-notation-mantissa"); |
| 1203 mantissa.textContent = numberParts[0]; | 1267 mantissa.textContent = numberParts[0]; |
| 1204 var exponent = valueElement.createChild("span", "object-value-scientific
-notation-exponent"); | 1268 var exponent = valueElement.createChild("span", "object-value-scientific
-notation-exponent"); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1238 function mouseClick(event) | 1302 function mouseClick(event) |
| 1239 { | 1303 { |
| 1240 WebInspector.Revealer.reveal(value); | 1304 WebInspector.Revealer.reveal(value); |
| 1241 event.consume(true); | 1305 event.consume(true); |
| 1242 } | 1306 } |
| 1243 | 1307 |
| 1244 return valueElement; | 1308 return valueElement; |
| 1245 } | 1309 } |
| 1246 | 1310 |
| 1247 /** | 1311 /** |
| 1312 * @param {!WebInspector.RemoteObject} value |
| 1313 * @return {?Element} |
| 1314 */ |
| 1315 WebInspector.ObjectPropertiesSection.createDescriptionValueElement = function(va
lue) |
| 1316 { |
| 1317 if (!value || (value.type === "object" && value.subtype === "node")) |
| 1318 return null; |
| 1319 var valueElement = createElementWithClass("span", "value"); |
| 1320 var type = value.type; |
| 1321 var subtype = value.subtype; |
| 1322 var description = value.description; |
| 1323 |
| 1324 valueElement.setTextContentTruncatedIfNeeded(description || ""); |
| 1325 valueElement.classList.add("object-value-" + (subtype || type)); |
| 1326 valueElement.classList.add("hidden"); |
| 1327 valueElement.title = description || ""; |
| 1328 |
| 1329 return valueElement; |
| 1330 } |
| 1331 |
| 1332 /** |
| 1248 * @param {!WebInspector.RemoteObject} func | 1333 * @param {!WebInspector.RemoteObject} func |
| 1249 * @param {!Element} element | 1334 * @param {!Element} element |
| 1250 * @param {boolean} linkify | 1335 * @param {boolean} linkify |
| 1251 * @param {boolean=} includePreview | 1336 * @param {boolean=} includePreview |
| 1252 */ | 1337 */ |
| 1253 WebInspector.ObjectPropertiesSection.formatObjectAsFunction = function(func, ele
ment, linkify, includePreview) | 1338 WebInspector.ObjectPropertiesSection.formatObjectAsFunction = function(func, ele
ment, linkify, includePreview) |
| 1254 { | 1339 { |
| 1255 func.functionDetails(didGetDetails); | 1340 func.functionDetails(didGetDetails); |
| 1256 | 1341 |
| 1257 /** | 1342 /** |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1411 | 1496 |
| 1412 result = currentName + (result ? "." + result : ""); | 1497 result = currentName + (result ? "." + result : ""); |
| 1413 current = current.parent; | 1498 current = current.parent; |
| 1414 } | 1499 } |
| 1415 var treeOutlineId = treeElement.treeOutline[WebInspector.ObjectPropertie
sSectionExpandController._treeOutlineId]; | 1500 var treeOutlineId = treeElement.treeOutline[WebInspector.ObjectPropertie
sSectionExpandController._treeOutlineId]; |
| 1416 result = treeOutlineId + (result ? ":" + result : ""); | 1501 result = treeOutlineId + (result ? ":" + result : ""); |
| 1417 treeElement[WebInspector.ObjectPropertiesSectionExpandController._cached
PathSymbol] = result; | 1502 treeElement[WebInspector.ObjectPropertiesSectionExpandController._cached
PathSymbol] = result; |
| 1418 return result; | 1503 return result; |
| 1419 } | 1504 } |
| 1420 } | 1505 } |
| OLD | NEW |