Skip to content

Commit ec4cf16

Browse files
author
Chris K
committed
Show an icon for DOM nodes with event listeners.
1 parent ca881c5 commit ec4cf16

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

src/ecma-debugger/dominspection/templates.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
const PSEUDO_ELEMENT_AFTER = 2;
3434
const PSEUDO_ELEMENT_FIRST_LETTER = 3;
3535
const PSEUDO_ELEMENT_FIRST_LINE = 4;
36+
const EVENT_LISTENER_LIST = 15;
3637

3738
this._pseudo_element_map = {};
3839
this._pseudo_element_map[PSEUDO_ELEMENT_BEFORE] = "before";
@@ -328,6 +329,9 @@
328329
var depth_first_ele = model.get_depth_of_first_element();
329330
var show_pseudo_elements = window.settings.dom.get("show-pseudo-elements");
330331
var is_expandable = false;
332+
var ev_listener_markup = "<span class=\"node-with-ev-listener\" "+
333+
"data-tooltip=\"event-listener\" " +
334+
"></span>"
331335

332336
for ( ; node = data[i]; i += 1)
333337
{
@@ -376,6 +380,10 @@
376380
{
377381
var node_name = (node[NAMESPACE] ? node[NAMESPACE] + ':' : '') + node[NAME];
378382
node_name = helpers.escapeTextHtml(node_name);
383+
var ev_listener = node[EVENT_LISTENER_LIST] && node[EVENT_LISTENER_LIST].length
384+
? ev_listener_markup
385+
: "";
386+
379387
if (force_lower_case)
380388
{
381389
node_name = node_name.toLowerCase();
@@ -455,7 +463,7 @@
455463
one_child_text_content +
456464
"<node>&lt;/" + node_name + "&gt;</node>" +
457465
(is_debug && (" <d>[" + node[ID] + "]</d>" ) || "") +
458-
"</div>";
466+
ev_listener + "</div>";
459467
i = child_pointer - 1;
460468
}
461469
else
@@ -470,7 +478,7 @@
470478
"<input handler='get-children' type='button' class='open' />" : '') +
471479
"<node>&lt;" + node_name + attrs + "&gt;</node>" +
472480
(is_debug && (" <d>[" + node[ID] + "]</d>" ) || "") +
473-
"</div>";
481+
ev_listener + "</div>";
474482

475483
closing_tags.push("<div" + this._margin_style(node, depth_first_ele) +
476484
"ref-id='" + node[ID] + "' handler='spotlight-node' " +
@@ -492,7 +500,7 @@
492500
"<input handler='get-children' type='button' class='close' />" : '') +
493501
"<node>&lt;" + node_name + attrs + (is_expandable ? '' : '/') + "&gt;</node>" +
494502
(is_debug && (" <d>[" + node[ID] + "]</d>" ) || "") +
495-
"</div>";
503+
ev_listener + "</div>";
496504
}
497505
break;
498506
}

src/ui-style/debugger_style.css

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,16 @@ parent-offset
691691
outline-offset: -2px; /* Hides the normal (dotted) outline when pressing Enter on the expand/collapse button */
692692
}
693693

694+
.node-with-ev-listener
695+
{
696+
display: inline-block;
697+
width: 16px;
698+
height: 16px;
699+
background: transparent url("../ui-images/icons/icon_ev_listener.png") no-repeat 0 0;
700+
vertical-align: middle;
701+
margin-left: 3px;
702+
}
703+
694704
.css-layout > div > h2:first-child
695705
{
696706
border-width: 0 0 1px;

0 commit comments

Comments
 (0)