Title: [222801] trunk/Source/WebInspectorUI
Revision
222801
Author
[email protected]
Date
2017-10-03 12:21:54 -0700 (Tue, 03 Oct 2017)

Log Message

Web Inspector: Layers tab sidebar's DOM highlight should be by row hover, not row selection
https://bugs.webkit.org/show_bug.cgi?id=177690

Patch by Ross Kirsling <[email protected]> on 2017-10-03
Reviewed by Devin Rousso.

* UserInterface/Views/LayerDetailsSidebarPanel.js:
(WI.LayerDetailsSidebarPanel):
(WI.LayerDetailsSidebarPanel.prototype._buildDataGrid):
(WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
(WI.LayerDetailsSidebarPanel.prototype._dataGridMouseMove):
(WI.LayerDetailsSidebarPanel.prototype._dataGridMouseLeave):
(WI.LayerDetailsSidebarPanel.prototype._hideDOMNodeHighlight):
(WI.LayerDetailsSidebarPanel.prototype._dataGridFocused): Deleted.
(WI.LayerDetailsSidebarPanel.prototype._dataGridBlurred): Deleted.
(WI.LayerDetailsSidebarPanel.prototype._highlightSelectedNode): Deleted.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (222800 => 222801)


--- trunk/Source/WebInspectorUI/ChangeLog	2017-10-03 19:21:19 UTC (rev 222800)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-10-03 19:21:54 UTC (rev 222801)
@@ -1,3 +1,21 @@
+2017-10-03  Ross Kirsling  <[email protected]>
+
+        Web Inspector: Layers tab sidebar's DOM highlight should be by row hover, not row selection
+        https://bugs.webkit.org/show_bug.cgi?id=177690
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Views/LayerDetailsSidebarPanel.js:
+        (WI.LayerDetailsSidebarPanel):
+        (WI.LayerDetailsSidebarPanel.prototype._buildDataGrid):
+        (WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
+        (WI.LayerDetailsSidebarPanel.prototype._dataGridMouseMove):
+        (WI.LayerDetailsSidebarPanel.prototype._dataGridMouseLeave):
+        (WI.LayerDetailsSidebarPanel.prototype._hideDOMNodeHighlight):
+        (WI.LayerDetailsSidebarPanel.prototype._dataGridFocused): Deleted.
+        (WI.LayerDetailsSidebarPanel.prototype._dataGridBlurred): Deleted.
+        (WI.LayerDetailsSidebarPanel.prototype._highlightSelectedNode): Deleted.
+
 2017-10-03  Nikita Vasilyev  <[email protected]>
 
         Web Inspector: Styles Redesign: support editing of rule selectors

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js (222800 => 222801)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js	2017-10-03 19:21:19 UTC (rev 222800)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js	2017-10-03 19:21:54 UTC (rev 222801)
@@ -36,6 +36,7 @@
         this._dataGridNodesByLayerId = new Map;
 
         this._dataGrid = null;
+        this._hoveredDataGridNode = null;
         this._bottomBar = null;
         this._layersCountLabel = null;
         this._layersMemoryLabel = null;
@@ -91,8 +92,8 @@
         this._dataGrid.sortOrder = WI.DataGrid.SortOrder.Descending;
         this._dataGrid.createSettings("layer-details-sidebar-panel");
 
-        this._dataGrid.element.addEventListener("focus", this._dataGridFocused.bind(this), false);
-        this._dataGrid.element.addEventListener("blur", this._dataGridBlurred.bind(this), false);
+        this._dataGrid.element.addEventListener("mousemove", this._dataGridMouseMove.bind(this), false);
+        this._dataGrid.element.addEventListener("mouseleave", this._dataGridMouseLeave.bind(this), false);
 
         this.contentView.addSubview(this._dataGrid);
     }
@@ -124,34 +125,38 @@
 
     _dataGridSelectedNodeChanged()
     {
-        if (this._dataGrid.selectedNode) {
-            this._highlightSelectedNode();
-            this._showPopoverForSelectedNode();
-        } else
-            WI.domTreeManager.hideDOMNodeHighlight();
+        this._showPopoverForSelectedNode();
     }
 
-    _dataGridFocused(event)
+    _dataGridMouseMove(event)
     {
-        this._highlightSelectedNode();
+        let node = this._dataGrid.dataGridNodeFromNode(event.target);
+        if (node === this._hoveredDataGridNode)
+            return;
+
+        if (!node) {
+            this._hideDOMNodeHighlight();
+            return;
+        }
+
+        this._hoveredDataGridNode = node;
+
+        if (node.layer.isGeneratedContent || node.layer.isReflection || node.layer.isAnonymous) {
+            const usePageCoordinates = true;
+            WI.domTreeManager.highlightRect(node.layer.bounds, usePageCoordinates);
+        } else
+            WI.domTreeManager.highlightDOMNode(node.layer.nodeId);
     }
 
-    _dataGridBlurred(event)
+    _dataGridMouseLeave(event)
     {
-        WI.domTreeManager.hideDOMNodeHighlight();
+        this._hideDOMNodeHighlight();
     }
 
-    _highlightSelectedNode()
+    _hideDOMNodeHighlight()
     {
-        if (!this._dataGrid.selectedNode)
-            return;
-
-        let layer = this._dataGrid.selectedNode.layer;
-        if (layer.isGeneratedContent || layer.isReflection || layer.isAnonymous) {
-            const usePageCoordinates = true;
-            WI.domTreeManager.highlightRect(layer.bounds, usePageCoordinates);
-        } else
-            WI.domTreeManager.highlightDOMNode(layer.nodeId);
+        WI.domTreeManager.hideDOMNodeHighlight();
+        this._hoveredDataGridNode = null;
     }
 
     _updateDisplayWithLayers(newLayers)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to