From 5938d5e96323be09a24365ccf26439f695e28660 Mon Sep 17 00:00:00 2001 From: lushnikov Date: Mon, 21 Mar 2016 16:08:20 -0700 Subject: [PATCH] DevTools: mapify WI.DOMNode._markers BUG=none TBR=dgozman, pfeldman Review URL: https://codereview.chromium.org/1816233002 Cr-Commit-Position: refs/heads/master@{#382427} --- .../http/tests/inspector/elements-test.js | 4 ++-- .../Source/devtools/front_end/sdk/DOMModel.js | 23 +++++++------------ 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/third_party/WebKit/LayoutTests/http/tests/inspector/elements-test.js b/third_party/WebKit/LayoutTests/http/tests/inspector/elements-test.js index 0bd45fd30fd5e..ef347db53d477 100644 --- a/third_party/WebKit/LayoutTests/http/tests/inspector/elements-test.js +++ b/third_party/WebKit/LayoutTests/http/tests/inspector/elements-test.js @@ -545,8 +545,8 @@ InspectorTest.dumpElementsTree = function(rootNode, depth, resultsArray) function dumpMap(name, map) { var result = []; - for (var id in map) - result.push(id + "=" + map[id]); + for (var id of map.keys()) + result.push(id + "=" + map.get(id)); if (!result.length) return ""; return name + ":[" + result.join(",") + "]"; diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/DOMModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/DOMModel.js index ba8394e8b96e2..840766e560db0 100644 --- a/third_party/WebKit/Source/devtools/front_end/sdk/DOMModel.js +++ b/third_party/WebKit/Source/devtools/front_end/sdk/DOMModel.js @@ -63,7 +63,8 @@ WebInspector.DOMNode = function(domModel, doc, isInShadowTree, payload) if (payload.attributes) this._setAttributesPayload(payload.attributes); - this._markers = {}; + /** @type {!Map} */ + this._markers = new Map(); this._subtreeMarkerCount = 0; this._childNodeCount = payload.childNodeCount || 0; @@ -795,10 +796,10 @@ WebInspector.DOMNode.prototype = { setMarker: function(name, value) { if (value === null) { - if (!this._markers.hasOwnProperty(name)) + if (!this._markers.has(name)) return; - delete this._markers[name]; + this._markers.delete(name); for (var node = this; node; node = node.parentNode) --node._subtreeMarkerCount; for (var node = this; node; node = node.parentNode) @@ -806,11 +807,11 @@ WebInspector.DOMNode.prototype = { return; } - if (this.parentNode && !this._markers.hasOwnProperty(name)) { + if (this.parentNode && !this._markers.has(name)) { for (var node = this; node; node = node.parentNode) ++node._subtreeMarkerCount; } - this._markers[name] = value; + this._markers.set(name, value); for (var node = this; node; node = node.parentNode) this._domModel.dispatchEventToListeners(WebInspector.DOMModel.Events.MarkersChanged, node); }, @@ -822,15 +823,7 @@ WebInspector.DOMNode.prototype = { */ marker: function(name) { - return this._markers[name] || null; - }, - - /** - * @return {!Array} - */ - markers: function() - { - return Object.values(this._markers); + return this._markers.get(name) || null; }, /** @@ -845,7 +838,7 @@ WebInspector.DOMNode.prototype = { { if (!node._subtreeMarkerCount) return; - for (var marker in node._markers) + for (var marker of node._markers.keys()) visitor(node, marker); if (!node._children) return;