Title: [222759] trunk/Source/WebInspectorUI
Revision
222759
Author
[email protected]
Date
2017-10-02 16:55:19 -0700 (Mon, 02 Oct 2017)

Log Message

Web Inspector: Selecting child layers with keyboard causes Compositing Reason popover to become misaligned
https://bugs.webkit.org/show_bug.cgi?id=150551

Patch by Ross Kirsling <[email protected]> on 2017-10-02
Reviewed by Matt Baker.

`content` setter should only be used when NOT repositioning the popover.
`presentNewContentWithFrame` exists to update content and position at once.

* UserInterface/Views/LayerDetailsSidebarPanel.js:
(WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode):
(WI.LayerDetailsSidebarPanel.prototype._presentPopover):
Fix new sidebar.

* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WI.LayerTreeDetailsSidebarPanel.prototype._updatePopoverForSelectedNode):
Fix legacy sidebar.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (222758 => 222759)


--- trunk/Source/WebInspectorUI/ChangeLog	2017-10-02 23:44:37 UTC (rev 222758)
+++ trunk/Source/WebInspectorUI/ChangeLog	2017-10-02 23:55:19 UTC (rev 222759)
@@ -1,5 +1,24 @@
 2017-10-02  Ross Kirsling  <[email protected]>
 
+        Web Inspector: Selecting child layers with keyboard causes Compositing Reason popover to become misaligned
+        https://bugs.webkit.org/show_bug.cgi?id=150551
+
+        Reviewed by Matt Baker.
+
+        `content` setter should only be used when NOT repositioning the popover.
+        `presentNewContentWithFrame` exists to update content and position at once.
+
+        * UserInterface/Views/LayerDetailsSidebarPanel.js:
+        (WI.LayerDetailsSidebarPanel.prototype._showPopoverForSelectedNode):
+        (WI.LayerDetailsSidebarPanel.prototype._presentPopover):
+        Fix new sidebar.
+
+        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
+        (WI.LayerTreeDetailsSidebarPanel.prototype._updatePopoverForSelectedNode):
+        Fix legacy sidebar.
+
+2017-10-02  Ross Kirsling  <[email protected]>
+
         Web Inspector: Ensure popovers are not malformed on window resize.
         https://bugs.webkit.org/show_bug.cgi?id=177771
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js (222758 => 222759)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js	2017-10-02 23:44:37 UTC (rev 222758)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerDetailsSidebarPanel.js	2017-10-02 23:55:19 UTC (rev 222759)
@@ -225,17 +225,19 @@
                 return;
 
             this._popover = this._popover || new WI.Popover(this);
-            this._popover.content = content;
             this._popover.windowResizeHandler = () => { this._presentPopover(); };
 
-            this._presentPopover();
+            this._presentPopover(content);
         });
     }
 
-    _presentPopover()
+    _presentPopover(content)
     {
         let targetFrame = WI.Rect.rectFromClientRect(this._dataGrid.selectedNode.element.getBoundingClientRect());
-        this._popover.present(targetFrame.pad(2), [WI.RectEdge.MIN_X]);
+        if (content)
+            this._popover.presentNewContentWithFrame(content, targetFrame.pad(2), [WI.RectEdge.MIN_X]);
+        else
+            this._popover.present(targetFrame.pad(2), [WI.RectEdge.MIN_X]);
     }
 
     _contentForPopover(layer, callback)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js (222758 => 222759)


--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js	2017-10-02 23:44:37 UTC (rev 222758)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js	2017-10-02 23:55:19 UTC (rev 222759)
@@ -347,9 +347,9 @@
         var targetFrame = WI.Rect.rectFromClientRect(dataGridNode.element.getBoundingClientRect());
 
         if (content)
-            popover.content = content;
-
-        popover.present(targetFrame.pad(2), [WI.RectEdge.MIN_X]);
+            this._popover.presentNewContentWithFrame(content, targetFrame.pad(2), [WI.RectEdge.MIN_X]);
+        else
+            popover.present(targetFrame.pad(2), [WI.RectEdge.MIN_X]);
     }
 
     _hidePopover()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to