| Index: third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js b/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
|
| index 1caef0413a06aa74054ca3efc4b379c5298f2370..70e4dd434e6048666b7d538747724a701462766a 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/components/ObjectPropertiesSection.js
|
| @@ -572,8 +572,13 @@ WebInspector.ObjectPropertyTreeElement.populateWithProperties = function(treeNod
|
| treeNode.appendChild(new WebInspector.ObjectPropertyTreeElement(property));
|
| }
|
| }
|
| + var entries = null;
|
| if (internalProperties) {
|
| for (var i = 0; i < internalProperties.length; i++) {
|
| + if (internalProperties[i].name === "[[Entries]]") {
|
| + entries = internalProperties[i].value;
|
| + continue;
|
| + }
|
| internalProperties[i].parentObject = value;
|
| treeNode.appendChild(new WebInspector.ObjectPropertyTreeElement(internalProperties[i]));
|
| }
|
| @@ -595,8 +600,8 @@ WebInspector.ObjectPropertyTreeElement.populateWithProperties = function(treeNod
|
| if (!hasTargetFunction)
|
| treeNode.appendChild(new WebInspector.FunctionScopeMainTreeElement(value));
|
| }
|
| - if (value && value.type === "object" && (value.subtype === "map" || value.subtype === "set" || value.subtype === "iterator"))
|
| - treeNode.appendChild(new WebInspector.CollectionEntriesMainTreeElement(value));
|
| + if (entries)
|
| + treeNode.appendChild(new WebInspector.CollectionEntriesMainTreeElement(entries));
|
|
|
| WebInspector.ObjectPropertyTreeElement._appendEmptyPlaceholderIfNeeded(treeNode, emptyPlaceholder);
|
| }
|
| @@ -730,14 +735,14 @@ WebInspector.FunctionScopeMainTreeElement.prototype = {
|
| /**
|
| * @constructor
|
| * @extends {TreeElement}
|
| - * @param {!WebInspector.RemoteObject} remoteObject
|
| + * @param {!WebInspector.RemoteObject} entries
|
| */
|
| -WebInspector.CollectionEntriesMainTreeElement = function(remoteObject)
|
| +WebInspector.CollectionEntriesMainTreeElement = function(entries)
|
| {
|
| TreeElement.call(this, "<entries>", true);
|
| this.toggleOnClick = true;
|
| this.selectable = false;
|
| - this._remoteObject = remoteObject;
|
| + this._entries = entries;
|
| this.expand();
|
| }
|
|
|
| @@ -745,33 +750,28 @@ WebInspector.CollectionEntriesMainTreeElement.prototype = {
|
| onpopulate: function()
|
| {
|
| /**
|
| - * @param {?Array.<!DebuggerAgent.CollectionEntry>} entries
|
| + * @param {?Array<!WebInspector.RemoteObjectProperty>} entries
|
| * @this {WebInspector.CollectionEntriesMainTreeElement}
|
| */
|
| - function didGetCollectionEntries(entries)
|
| + function populateWithEntries(entries)
|
| {
|
| if (!entries)
|
| return;
|
| this.removeChildren();
|
|
|
| var entriesLocalObject = [];
|
| - var runtimeModel = this._remoteObject.target().runtimeModel;
|
| - for (var i = 0; i < entries.length; ++i) {
|
| - var entry = entries[i];
|
| - if (entry.key) {
|
| - entriesLocalObject.push(new WebInspector.MapEntryLocalJSONObject({
|
| - key: runtimeModel.createRemoteObject(entry.key),
|
| - value: runtimeModel.createRemoteObject(entry.value)
|
| - }));
|
| - } else {
|
| - entriesLocalObject.push(runtimeModel.createRemoteObject(entry.value));
|
| - }
|
| + for (var entry of entries) {
|
| + var name = entry.name;
|
| + // Array index check according to the ES5-15.4.
|
| + if (String(name >>> 0) !== name || name >>> 0 === 0xffffffff)
|
| + continue;
|
| + entriesLocalObject.push(entry.value);
|
| }
|
| WebInspector.ObjectPropertyTreeElement._populate(this, WebInspector.RemoteObject.fromLocalObject(entriesLocalObject), true, WebInspector.UIString("No Entries"));
|
| this.title = "<entries>[" + entriesLocalObject.length + "]";
|
| }
|
|
|
| - this._remoteObject.collectionEntries(didGetCollectionEntries.bind(this));
|
| + this._entries.getOwnProperties(populateWithEntries.bind(this));
|
| },
|
|
|
| __proto__: TreeElement.prototype
|
|
|