Title: [242820] trunk/Source/WebInspectorUI
Revision
242820
Author
[email protected]
Date
2019-03-12 13:05:52 -0700 (Tue, 12 Mar 2019)

Log Message

Web Inspector: Elements: provide node context menu items for event listeners sorted by node
https://bugs.webkit.org/show_bug.cgi?id=195633

Reviewed by Matt Baker.

* UserInterface/Base/DOMUtilities.js:
(WI.linkifyNodeReferenceElement):
(WI.bindInteractionsForNodeToElement): Added.
Split logic for adding event listeners into a separate function so it can be used on
existing DOM without modifying it.

* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (242819 => 242820)


--- trunk/Source/WebInspectorUI/ChangeLog	2019-03-12 19:37:38 UTC (rev 242819)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-03-12 20:05:52 UTC (rev 242820)
@@ -1,5 +1,21 @@
 2019-03-12  Devin Rousso  <[email protected]>
 
+        Web Inspector: Elements: provide node context menu items for event listeners sorted by node
+        https://bugs.webkit.org/show_bug.cgi?id=195633
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Base/DOMUtilities.js:
+        (WI.linkifyNodeReferenceElement):
+        (WI.bindInteractionsForNodeToElement): Added.
+        Split logic for adding event listeners into a separate function so it can be used on
+        existing DOM without modifying it.
+
+        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
+        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
+
+2019-03-12  Devin Rousso  <[email protected]>
+
         Web Inspector: DOM Debugger: remove left padding when the last DOM breakpoint is removed
         https://bugs.webkit.org/show_bug.cgi?id=195522
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js (242819 => 242820)


--- trunk/Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js	2019-03-12 19:37:38 UTC (rev 242819)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js	2019-03-12 20:05:52 UTC (rev 242820)
@@ -77,15 +77,30 @@
     if ((nodeType !== Node.DOCUMENT_NODE || node.parentNode) && nodeType !== Node.TEXT_NODE)
         element.classList.add("node-link");
 
-    element.addEventListener("click", WI.domManager.inspectElement.bind(WI.domManager, node.id));
-    element.addEventListener("mouseover", WI.domManager.highlightDOMNode.bind(WI.domManager, node.id, "all"));
-    element.addEventListener("mouseout", WI.domManager.hideDOMNodeHighlight.bind(WI.domManager));
+    WI.bindInteractionsForNodeToElement(node, element, options);
+
+    return element;
+};
+
+WI.bindInteractionsForNodeToElement = function(node, element, options = {}) {
+    if (!options.ignoreClick) {
+        element.addEventListener("click", (event) => {
+            WI.domManager.inspectElement(node.id);
+        });
+    }
+
+    element.addEventListener("mouseover", (event) => {
+        WI.domManager.highlightDOMNode(node.id, "all");
+    });
+
+    element.addEventListener("mouseout", (event) => {
+        WI.domManager.hideDOMNodeHighlight();
+    });
+
     element.addEventListener("contextmenu", (event) => {
         let contextMenu = WI.ContextMenu.createFromEvent(event);
         WI.appendContextMenuItemsForDOMNode(contextMenu, node, options);
     });
-
-    return element;
 };
 
 function createSVGElement(tagName)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js (242819 => 242820)


--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js	2019-03-12 19:37:38 UTC (rev 242819)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js	2019-03-12 20:05:52 UTC (rev 242820)
@@ -393,17 +393,10 @@
                 if (!eventListenersForNode)
                     continue;
 
-                let nodeId = currentNode.id;
-
                 eventListenersForNode.sort((a, b) => a.type.toLowerCase().extendedLocaleCompare(b.type.toLowerCase()));
 
                 let section = createEventListenerSection(currentNode.displayName, eventListenersForNode, {hideNode: true});
-                section.titleElement.addEventListener("mouseover", (event) => {
-                    WI.domManager.highlightDOMNode(nodeId, "all");
-                });
-                section.titleElement.addEventListener("mouseout", (event) => {
-                    WI.domManager.hideDOMNodeHighlight();
-                });
+                WI.bindInteractionsForNodeToElement(currentNode, section.titleElement, {ignoreClick: true});
                 rows.push(section);
             } while (currentNode = currentNode.parentNode);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to