Title: [256647] trunk/Source/WebInspectorUI
Revision
256647
Author
nvasil...@apple.com
Date
2020-02-14 14:45:08 -0800 (Fri, 14 Feb 2020)

Log Message

Web Inspector: Bezier editor popover should be strictly LTR
https://bugs.webkit.org/show_bug.cgi?id=206968
<rdar://problem/59007065>

Reviewed by Timothy Hatcher.

webkitConvertPointFromPageToNode does not work correctly with the zoom level other than 1.
Replace all uses of webkitConvertPointFromPageToNode with getBoundingClientRect.

* UserInterface/Models/Geometry.js:
(WI.Point.fromEventInElement):
* UserInterface/Views/ColorSquare.js:
(WI.ColorSquare.prototype._updateColorForMouseEvent):
* UserInterface/Views/GradientSlider.js:
(WI.GradientSlider.prototype._updateShadowKnob):
* UserInterface/Views/Slider.js:
(WI.Slider.prototype._localPointForEvent):
(WI.Slider):

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (256646 => 256647)


--- trunk/Source/WebInspectorUI/ChangeLog	2020-02-14 22:37:44 UTC (rev 256646)
+++ trunk/Source/WebInspectorUI/ChangeLog	2020-02-14 22:45:08 UTC (rev 256647)
@@ -1,3 +1,24 @@
+2020-02-14  Nikita Vasilyev  <nvasil...@apple.com>
+
+        Web Inspector: Bezier editor popover should be strictly LTR
+        https://bugs.webkit.org/show_bug.cgi?id=206968
+        <rdar://problem/59007065>
+
+        Reviewed by Timothy Hatcher.
+
+        webkitConvertPointFromPageToNode does not work correctly with the zoom level other than 1.
+        Replace all uses of webkitConvertPointFromPageToNode with getBoundingClientRect.
+
+        * UserInterface/Models/Geometry.js:
+        (WI.Point.fromEventInElement):
+        * UserInterface/Views/ColorSquare.js:
+        (WI.ColorSquare.prototype._updateColorForMouseEvent):
+        * UserInterface/Views/GradientSlider.js:
+        (WI.GradientSlider.prototype._updateShadowKnob):
+        * UserInterface/Views/Slider.js:
+        (WI.Slider.prototype._localPointForEvent):
+        (WI.Slider):
+
 2020-02-12  Pavel Feldman  <pavel.feld...@gmail.com>
 
         Web Inspector: encode binary web socket frames using base64

Modified: trunk/Source/WebInspectorUI/UserInterface/Models/Geometry.js (256646 => 256647)


--- trunk/Source/WebInspectorUI/UserInterface/Models/Geometry.js	2020-02-14 22:37:44 UTC (rev 256646)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/Geometry.js	2020-02-14 22:45:08 UTC (rev 256647)
@@ -40,8 +40,8 @@
 
     static fromEventInElement(event, element)
     {
-        var wkPoint = window.webkitConvertPointFromPageToNode(element, new WebKitPoint(event.pageX, event.pageY));
-        return new WI.Point(wkPoint.x, wkPoint.y);
+        let rect = element.getBoundingClientRect();
+        return new WI.Point(event.pageX - rect.x, event.pageY - rect.y);
     }
 
     // Public

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ColorSquare.js (256646 => 256647)


--- trunk/Source/WebInspectorUI/UserInterface/Views/ColorSquare.js	2020-02-14 22:37:44 UTC (rev 256646)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ColorSquare.js	2020-02-14 22:45:08 UTC (rev 256647)
@@ -205,8 +205,11 @@
 
     _updateColorForMouseEvent(event)
     {
-        let point = window.webkitConvertPointFromPageToNode(this._element, new WebKitPoint(event.pageX, event.pageY));
-        this._setCrosshairPosition(point);
+        let rect = this._element.getBoundingClientRect();
+        this._setCrosshairPosition({
+            x: event.pageX - rect.x,
+            y: event.pageY - rect.y,
+        });
 
         if (this._delegate && this._delegate.colorSquareColorDidChange)
             this._delegate.colorSquareColorDidChange(this);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/GradientSlider.js (256646 => 256647)


--- trunk/Source/WebInspectorUI/UserInterface/Views/GradientSlider.js	2020-02-14 22:37:44 UTC (rev 256646)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/GradientSlider.js	2020-02-14 22:45:08 UTC (rev 256647)
@@ -195,7 +195,7 @@
             this.element.appendChild(this._shadowKnob.element);
         }
 
-        this._shadowKnob.x = window.webkitConvertPointFromPageToNode(this.element, new WebKitPoint(event.pageX, event.pageY)).x;
+        this._shadowKnob.x = event.pageX - this.element.getBoundingClientRect().x;
 
         var colorData = this._canvas.getContext("2d").getImageData(this._shadowKnob.x - 1, 0, 1, 1).data;
         this._shadowKnob.wellColor = new WI.Color(WI.Color.Format.RGB, [colorData[0], colorData[1], colorData[2], colorData[3] / 255]);

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/Slider.js (256646 => 256647)


--- trunk/Source/WebInspectorUI/UserInterface/Views/Slider.js	2020-02-14 22:37:44 UTC (rev 256646)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/Slider.js	2020-02-14 22:45:08 UTC (rev 256647)
@@ -167,7 +167,11 @@
     {
         // We convert all event coordinates from page coordinates to local coordinates such that the slider
         // may be transformed using CSS Transforms and interaction works as expected.
-        return window.webkitConvertPointFromPageToNode(this._element, new WebKitPoint(event.pageX, event.pageY));
+        let rect = this._element.getBoundingClientRect();
+        return {
+            x: event.pageX - rect.x,
+            y: event.pageY - rect.y,
+        };
     }
 };
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to