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

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

Issue 2466123002: DevTools: reformat front-end code to match chromium style. (Closed)
Patch Set: all done Created 4 years, 1 month 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 // Copyright (c) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4
5 /** 4 /**
6 * @constructor 5 * @unrestricted
7 * @param {!WebInspector.ElementsTreeOutline} treeOutline
8 */ 6 */
9 WebInspector.ElementsTreeElementHighlighter = function(treeOutline) 7 WebInspector.ElementsTreeElementHighlighter = class {
10 { 8 /**
9 * @param {!WebInspector.ElementsTreeOutline} treeOutline
10 */
11 constructor(treeOutline) {
11 this._throttler = new WebInspector.Throttler(100); 12 this._throttler = new WebInspector.Throttler(100);
12 this._treeOutline = treeOutline; 13 this._treeOutline = treeOutline;
13 this._treeOutline.addEventListener(TreeOutline.Events.ElementExpanded, this. _clearState, this); 14 this._treeOutline.addEventListener(TreeOutline.Events.ElementExpanded, this. _clearState, this);
14 this._treeOutline.addEventListener(TreeOutline.Events.ElementCollapsed, this ._clearState, this); 15 this._treeOutline.addEventListener(TreeOutline.Events.ElementCollapsed, this ._clearState, this);
15 this._treeOutline.addEventListener(WebInspector.ElementsTreeOutline.Events.S electedNodeChanged, this._clearState, this); 16 this._treeOutline.addEventListener(
16 WebInspector.targetManager.addModelListener(WebInspector.DOMModel, WebInspec tor.DOMModel.Events.NodeHighlightedInOverlay, this._highlightNode, this); 17 WebInspector.ElementsTreeOutline.Events.SelectedNodeChanged, this._clear State, this);
17 this._treeOutline.domModel().addEventListener(WebInspector.DOMModel.Events.I nspectModeWillBeToggled, this._clearState, this); 18 WebInspector.targetManager.addModelListener(
18 }; 19 WebInspector.DOMModel, WebInspector.DOMModel.Events.NodeHighlightedInOve rlay, this._highlightNode, this);
20 this._treeOutline.domModel().addEventListener(
21 WebInspector.DOMModel.Events.InspectModeWillBeToggled, this._clearState, this);
22 }
19 23
20 WebInspector.ElementsTreeElementHighlighter.prototype = { 24 /**
21 /** 25 * @param {!WebInspector.Event} event
22 * @param {!WebInspector.Event} event 26 */
23 */ 27 _highlightNode(event) {
24 _highlightNode: function(event) 28 if (!WebInspector.moduleSetting('highlightNodeOnHoverInOverlay').get())
25 { 29 return;
26 if (!WebInspector.moduleSetting("highlightNodeOnHoverInOverlay").get())
27 return;
28 30
29 var domNode = /** @type {!WebInspector.DOMNode} */ (event.data); 31 var domNode = /** @type {!WebInspector.DOMNode} */ (event.data);
30 32
31 this._throttler.schedule(callback.bind(this)); 33 this._throttler.schedule(callback.bind(this));
32 this._pendingHighlightNode = this._treeOutline.domModel() === domNode.do mModel() ? domNode : null; 34 this._pendingHighlightNode = this._treeOutline.domModel() === domNode.domMod el() ? domNode : null;
33
34 /**
35 * @this {WebInspector.ElementsTreeElementHighlighter}
36 */
37 function callback()
38 {
39 this._highlightNodeInternal(this._pendingHighlightNode);
40 delete this._pendingHighlightNode;
41 return Promise.resolve();
42 }
43 },
44 35
45 /** 36 /**
46 * @param {?WebInspector.DOMNode} node 37 * @this {WebInspector.ElementsTreeElementHighlighter}
47 */ 38 */
48 _highlightNodeInternal: function(node) 39 function callback() {
49 { 40 this._highlightNodeInternal(this._pendingHighlightNode);
50 this._isModifyingTreeOutline = true; 41 delete this._pendingHighlightNode;
51 var treeElement = null; 42 return Promise.resolve();
43 }
44 }
52 45
53 if (this._currentHighlightedElement) { 46 /**
54 var currentTreeElement = this._currentHighlightedElement; 47 * @param {?WebInspector.DOMNode} node
55 while (currentTreeElement !== this._alreadyExpandedParentElement) { 48 */
56 if (currentTreeElement.expanded) 49 _highlightNodeInternal(node) {
57 currentTreeElement.collapse(); 50 this._isModifyingTreeOutline = true;
51 var treeElement = null;
58 52
59 currentTreeElement = currentTreeElement.parent; 53 if (this._currentHighlightedElement) {
60 } 54 var currentTreeElement = this._currentHighlightedElement;
61 } 55 while (currentTreeElement !== this._alreadyExpandedParentElement) {
56 if (currentTreeElement.expanded)
57 currentTreeElement.collapse();
62 58
63 delete this._currentHighlightedElement; 59 currentTreeElement = currentTreeElement.parent;
64 delete this._alreadyExpandedParentElement; 60 }
65 if (node) {
66 var deepestExpandedParent = node;
67 var treeElementSymbol = this._treeOutline.treeElementSymbol();
68 while (deepestExpandedParent && (!deepestExpandedParent[treeElementS ymbol] || !deepestExpandedParent[treeElementSymbol].expanded))
69 deepestExpandedParent = deepestExpandedParent.parentNode;
70
71 this._alreadyExpandedParentElement = deepestExpandedParent ? deepest ExpandedParent[treeElementSymbol] : this._treeOutline.rootElement();
72 treeElement = this._treeOutline.createTreeElementFor(node);
73 }
74
75 this._currentHighlightedElement = treeElement;
76 this._treeOutline.setHoverEffect(treeElement);
77 if (treeElement)
78 treeElement.reveal(true);
79
80 this._isModifyingTreeOutline = false;
81 },
82
83 _clearState: function()
84 {
85 if (this._isModifyingTreeOutline)
86 return;
87
88 delete this._currentHighlightedElement;
89 delete this._alreadyExpandedParentElement;
90 delete this._pendingHighlightNode;
91 } 61 }
92 62
63 delete this._currentHighlightedElement;
64 delete this._alreadyExpandedParentElement;
65 if (node) {
66 var deepestExpandedParent = node;
67 var treeElementSymbol = this._treeOutline.treeElementSymbol();
68 while (deepestExpandedParent &&
69 (!deepestExpandedParent[treeElementSymbol] || !deepestExpandedParen t[treeElementSymbol].expanded))
70 deepestExpandedParent = deepestExpandedParent.parentNode;
71
72 this._alreadyExpandedParentElement =
73 deepestExpandedParent ? deepestExpandedParent[treeElementSymbol] : thi s._treeOutline.rootElement();
74 treeElement = this._treeOutline.createTreeElementFor(node);
75 }
76
77 this._currentHighlightedElement = treeElement;
78 this._treeOutline.setHoverEffect(treeElement);
79 if (treeElement)
80 treeElement.reveal(true);
81
82 this._isModifyingTreeOutline = false;
83 }
84
85 _clearState() {
86 if (this._isModifyingTreeOutline)
87 return;
88
89 delete this._currentHighlightedElement;
90 delete this._alreadyExpandedParentElement;
91 delete this._pendingHighlightNode;
92 }
93 }; 93 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698