Title: [264699] trunk/Source/WebKit
Revision
264699
Author
megan_gard...@apple.com
Date
2020-07-22 09:09:52 -0700 (Wed, 22 Jul 2020)

Log Message

Tapped DataDetected links present sub-menus from the wrong location.
https://bugs.webkit.org/show_bug.cgi?id=214628
<rdar://problem/64808642>

When getting the positionInformation associated with presenting DataDetectors UI
we were not indicating that we need the linkIndicator data. This caused the
resulting CGRect to not be filled out, and we were returning a zeroed out CGRect
to the DataDetectors framework for the location that it should present the subMenu from.
Setting this bit ensures that all the necessary data is calculated and returned
when a DataDetector link is tapped.

Reviewed by Wenson Hsieh.

* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::showDataDetectorsUIForElement):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (264698 => 264699)


--- trunk/Source/WebKit/ChangeLog	2020-07-22 15:59:56 UTC (rev 264698)
+++ trunk/Source/WebKit/ChangeLog	2020-07-22 16:09:52 UTC (rev 264699)
@@ -1,3 +1,21 @@
+2020-07-22  Megan Gardner  <megan_gard...@apple.com>
+
+        Tapped DataDetected links present sub-menus from the wrong location.
+        https://bugs.webkit.org/show_bug.cgi?id=214628
+        <rdar://problem/64808642>
+
+        When getting the positionInformation associated with presenting DataDetectors UI
+        we were not indicating that we need the linkIndicator data. This caused the
+        resulting CGRect to not be filled out, and we were returning a zeroed out CGRect
+        to the DataDetectors framework for the location that it should present the subMenu from.
+        Setting this bit ensures that all the necessary data is calculated and returned
+        when a DataDetector link is tapped.
+
+        Reviewed by Wenson Hsieh.
+
+        * WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
+        (WebKit::WebChromeClient::showDataDetectorsUIForElement):
+
 2020-07-22  Carlos Garcia Campos  <cgar...@igalia.com>
 
         [GTK][WPE] ITP: use the database store unconditionally

Modified: trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm (264698 => 264699)


--- trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm	2020-07-22 15:59:56 UTC (rev 264698)
+++ trunk/Source/WebKit/WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm	2020-07-22 16:09:52 UTC (rev 264699)
@@ -203,7 +203,9 @@
 
     // FIXME: Ideally, we would be able to generate InteractionInformationAtPosition without re-hit-testing the element.
     auto& mouseEvent = downcast<MouseEvent>(event);
-    auto positionInformation = m_page.positionInformation(InteractionInformationRequest { roundedIntPoint(mouseEvent.locationInRootViewCoordinates()) });
+    auto request = InteractionInformationRequest { roundedIntPoint(mouseEvent.locationInRootViewCoordinates()) };
+    request.includeLinkIndicator = true;
+    auto positionInformation = m_page.positionInformation(request);
     m_page.send(Messages::WebPageProxy::ShowDataDetectorsUIForPositionInformation(positionInformation));
     return true;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to