Title: [155165] trunk/Source/WebInspectorUI
Revision
155165
Author
[email protected]
Date
2013-09-05 17:55:42 -0700 (Thu, 05 Sep 2013)

Log Message

Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
https://bugs.webkit.org/show_bug.cgi?id=120804

Patch by Joseph Pecoraro <[email protected]> on 2013-09-05
Reviewed by Timothy Hatcher.

Grab the bounding rect immediately, instead of grabbing it from the element
after the user has selected the "Edit Breakpoint" context menu item. When
the popover was misplaced it was when using an element had been removed or
replaced in the DOM, and caused a bogus bounding client rect.

* UserInterface/Breakpoint.js:
(WebInspector.Breakpoint.prototype.editBreakpoint):
(WebInspector.Breakpoint.prototype._showEditBreakpointPopover):

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (155164 => 155165)


--- trunk/Source/WebInspectorUI/ChangeLog	2013-09-06 00:35:00 UTC (rev 155164)
+++ trunk/Source/WebInspectorUI/ChangeLog	2013-09-06 00:55:42 UTC (rev 155165)
@@ -1,5 +1,21 @@
 2013-09-05  Joseph Pecoraro  <[email protected]>
 
+        Web Inspector: Edit Breakpoint popover sometimes appears misplaced in top left
+        https://bugs.webkit.org/show_bug.cgi?id=120804
+
+        Reviewed by Timothy Hatcher.
+
+        Grab the bounding rect immediately, instead of grabbing it from the element
+        after the user has selected the "Edit Breakpoint" context menu item. When
+        the popover was misplaced it was when using an element had been removed or
+        replaced in the DOM, and caused a bogus bounding client rect.
+
+        * UserInterface/Breakpoint.js:
+        (WebInspector.Breakpoint.prototype.editBreakpoint):
+        (WebInspector.Breakpoint.prototype._showEditBreakpointPopover):
+
+2013-09-05  Joseph Pecoraro  <[email protected]>
+
         Web Inspector: Remove harmless assert, triggered hitting breakpoint in auto prettyprinted code on reload
         https://bugs.webkit.org/show_bug.cgi?id=120332
 

Modified: trunk/Source/WebInspectorUI/UserInterface/Breakpoint.js (155164 => 155165)


--- trunk/Source/WebInspectorUI/UserInterface/Breakpoint.js	2013-09-06 00:35:00 UTC (rev 155164)
+++ trunk/Source/WebInspectorUI/UserInterface/Breakpoint.js	2013-09-06 00:55:42 UTC (rev 155165)
@@ -199,9 +199,13 @@
 
     appendContextMenuItems: function(contextMenu, breakpointDisplayElement)
     {
+        console.assert(document.body.contains(breakpointDisplayElement), "breakpoint popover display element must be in the DOM");
+
+        var boundingClientRect = breakpointDisplayElement.getBoundingClientRect();
+
         function editBreakpoint()
         {
-            this._showEditBreakpointPopover(breakpointDisplayElement);
+            this._showEditBreakpointPopover(boundingClientRect);
         }
 
         function removeBreakpoint()
@@ -474,10 +478,11 @@
         delete this._popover;
     },
 
-    _showEditBreakpointPopover: function(element)
+    _showEditBreakpointPopover: function(boundingClientRect)
     {
         const padding = 2;
-        var bounds = WebInspector.Rect.rectFromClientRect(element.getBoundingClientRect());
+        var bounds = WebInspector.Rect.rectFromClientRect(boundingClientRect);
+
         bounds.origin.x -= 1; // Move the anchor left one pixel so it looks more centered.
         bounds.origin.x -= padding;
         bounds.origin.y -= padding;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to