Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/elements/ElementsTreeOutline.js

Issue 2142653003: DevTools: move functionality away from ElementsPanel for better DOM tree control reuse. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com> 3 * Copyright (C) 2008 Matt Lilek <webkit@mattlilek.com>
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 this._popoverHelper.setTimeout(0, 100); 74 this._popoverHelper.setTimeout(0, 100);
75 75
76 /** @type {!Map<!WebInspector.DOMNode, !WebInspector.ElementsTreeOutline.Upd ateRecord>} */ 76 /** @type {!Map<!WebInspector.DOMNode, !WebInspector.ElementsTreeOutline.Upd ateRecord>} */
77 this._updateRecords = new Map(); 77 this._updateRecords = new Map();
78 /** @type {!Set<!WebInspector.ElementsTreeElement>} */ 78 /** @type {!Set<!WebInspector.ElementsTreeElement>} */
79 this._treeElementsBeingUpdated = new Set(); 79 this._treeElementsBeingUpdated = new Set();
80 80
81 this._domModel.addEventListener(WebInspector.DOMModel.Events.MarkersChanged, this._markersChanged, this); 81 this._domModel.addEventListener(WebInspector.DOMModel.Events.MarkersChanged, this._markersChanged, this);
82 } 82 }
83 83
84 WebInspector.ElementsTreeOutline._treeOutlineSymbol = Symbol("treeOutline");
85
86 /**
87 * @param {!WebInspector.DOMModel} domModel
88 * @return {?WebInspector.ElementsTreeOutline}
89 */
90 WebInspector.ElementsTreeOutline.forDOMModel = function(domModel)
91 {
92 return domModel[WebInspector.ElementsTreeOutline._treeOutlineSymbol] || null ;
93 }
94
84 /** @typedef {{node: !WebInspector.DOMNode, isCut: boolean}} */ 95 /** @typedef {{node: !WebInspector.DOMNode, isCut: boolean}} */
85 WebInspector.ElementsTreeOutline.ClipboardData; 96 WebInspector.ElementsTreeOutline.ClipboardData;
86 97
87 /** 98 /**
88 * @enum {string} 99 * @enum {string}
89 */ 100 */
90 WebInspector.ElementsTreeOutline.Events = { 101 WebInspector.ElementsTreeOutline.Events = {
91 SelectedNodeChanged: "SelectedNodeChanged", 102 SelectedNodeChanged: "SelectedNodeChanged",
92 ElementsTreeUpdated: "ElementsTreeUpdated" 103 ElementsTreeUpdated: "ElementsTreeUpdated"
93 } 104 }
(...skipping 965 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 this.rootDOMNode = null; 1070 this.rootDOMNode = null;
1060 this.selectDOMNode(null, false); 1071 this.selectDOMNode(null, false);
1061 this._popoverHelper.hidePopover(); 1072 this._popoverHelper.hidePopover();
1062 delete this._clipboardNodeData; 1073 delete this._clipboardNodeData;
1063 WebInspector.DOMModel.hideDOMNodeHighlight(); 1074 WebInspector.DOMModel.hideDOMNodeHighlight();
1064 this._updateRecords.clear(); 1075 this._updateRecords.clear();
1065 }, 1076 },
1066 1077
1067 wireToDOMModel: function() 1078 wireToDOMModel: function()
1068 { 1079 {
1080 this._domModel[WebInspector.ElementsTreeOutline._treeOutlineSymbol] = th is;
1069 this._domModel.addEventListener(WebInspector.DOMModel.Events.NodeInserte d, this._nodeInserted, this); 1081 this._domModel.addEventListener(WebInspector.DOMModel.Events.NodeInserte d, this._nodeInserted, this);
1070 this._domModel.addEventListener(WebInspector.DOMModel.Events.NodeRemoved , this._nodeRemoved, this); 1082 this._domModel.addEventListener(WebInspector.DOMModel.Events.NodeRemoved , this._nodeRemoved, this);
1071 this._domModel.addEventListener(WebInspector.DOMModel.Events.AttrModifie d, this._attributeModified, this); 1083 this._domModel.addEventListener(WebInspector.DOMModel.Events.AttrModifie d, this._attributeModified, this);
1072 this._domModel.addEventListener(WebInspector.DOMModel.Events.AttrRemoved , this._attributeRemoved, this); 1084 this._domModel.addEventListener(WebInspector.DOMModel.Events.AttrRemoved , this._attributeRemoved, this);
1073 this._domModel.addEventListener(WebInspector.DOMModel.Events.CharacterDa taModified, this._characterDataModified, this); 1085 this._domModel.addEventListener(WebInspector.DOMModel.Events.CharacterDa taModified, this._characterDataModified, this);
1074 this._domModel.addEventListener(WebInspector.DOMModel.Events.DocumentUpd ated, this._documentUpdated, this); 1086 this._domModel.addEventListener(WebInspector.DOMModel.Events.DocumentUpd ated, this._documentUpdated, this);
1075 this._domModel.addEventListener(WebInspector.DOMModel.Events.ChildNodeCo untUpdated, this._childNodeCountUpdated, this); 1087 this._domModel.addEventListener(WebInspector.DOMModel.Events.ChildNodeCo untUpdated, this._childNodeCountUpdated, this);
1076 this._domModel.addEventListener(WebInspector.DOMModel.Events.Distributed NodesChanged, this._distributedNodesChanged, this); 1088 this._domModel.addEventListener(WebInspector.DOMModel.Events.Distributed NodesChanged, this._distributedNodesChanged, this);
1077 }, 1089 },
1078 1090
1079 unwireFromDOMModel: function() 1091 unwireFromDOMModel: function()
1080 { 1092 {
1081 this._domModel.removeEventListener(WebInspector.DOMModel.Events.NodeInse rted, this._nodeInserted, this); 1093 this._domModel.removeEventListener(WebInspector.DOMModel.Events.NodeInse rted, this._nodeInserted, this);
1082 this._domModel.removeEventListener(WebInspector.DOMModel.Events.NodeRemo ved, this._nodeRemoved, this); 1094 this._domModel.removeEventListener(WebInspector.DOMModel.Events.NodeRemo ved, this._nodeRemoved, this);
1083 this._domModel.removeEventListener(WebInspector.DOMModel.Events.AttrModi fied, this._attributeModified, this); 1095 this._domModel.removeEventListener(WebInspector.DOMModel.Events.AttrModi fied, this._attributeModified, this);
1084 this._domModel.removeEventListener(WebInspector.DOMModel.Events.AttrRemo ved, this._attributeRemoved, this); 1096 this._domModel.removeEventListener(WebInspector.DOMModel.Events.AttrRemo ved, this._attributeRemoved, this);
1085 this._domModel.removeEventListener(WebInspector.DOMModel.Events.Characte rDataModified, this._characterDataModified, this); 1097 this._domModel.removeEventListener(WebInspector.DOMModel.Events.Characte rDataModified, this._characterDataModified, this);
1086 this._domModel.removeEventListener(WebInspector.DOMModel.Events.Document Updated, this._documentUpdated, this); 1098 this._domModel.removeEventListener(WebInspector.DOMModel.Events.Document Updated, this._documentUpdated, this);
1087 this._domModel.removeEventListener(WebInspector.DOMModel.Events.ChildNod eCountUpdated, this._childNodeCountUpdated, this); 1099 this._domModel.removeEventListener(WebInspector.DOMModel.Events.ChildNod eCountUpdated, this._childNodeCountUpdated, this);
1088 this._domModel.removeEventListener(WebInspector.DOMModel.Events.Distribu tedNodesChanged, this._distributedNodesChanged, this); 1100 this._domModel.removeEventListener(WebInspector.DOMModel.Events.Distribu tedNodesChanged, this._distributedNodesChanged, this);
1101 delete this._domModel[WebInspector.ElementsTreeOutline._treeOutlineSymbo l];
1089 }, 1102 },
1090 1103
1091 /** 1104 /**
1092 * @param {!WebInspector.DOMNode} node 1105 * @param {!WebInspector.DOMNode} node
1093 * @return {!WebInspector.ElementsTreeOutline.UpdateRecord} 1106 * @return {!WebInspector.ElementsTreeOutline.UpdateRecord}
1094 */ 1107 */
1095 _addUpdateRecord: function(node) 1108 _addUpdateRecord: function(node)
1096 { 1109 {
1097 var record = this._updateRecords.get(node); 1110 var record = this._updateRecords.get(node);
1098 if (!record) { 1111 if (!record) {
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
1782 if (node) { 1795 if (node) {
1783 this.treeOutline._selectedDOMNode = node; 1796 this.treeOutline._selectedDOMNode = node;
1784 this.treeOutline._selectedNodeChanged(); 1797 this.treeOutline._selectedNodeChanged();
1785 } 1798 }
1786 } 1799 }
1787 return true; 1800 return true;
1788 }, 1801 },
1789 1802
1790 __proto__: TreeElement.prototype 1803 __proto__: TreeElement.prototype
1791 } 1804 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698