Title: [163499] trunk/Source/WebKit2
Revision
163499
Author
[email protected]
Date
2014-02-05 17:18:23 -0800 (Wed, 05 Feb 2014)

Log Message

WK2: Tap highlight is positioned incorrectly in iframes.
https://bugs.webkit.org/show_bug.cgi?id=128277
<rdar://problem/15975993>

Reviewed by Benjamin Poulain.

We need to convert the quad to root view coordinates
before returning it to the UIProcess for drawing the highlight.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::tapHighlightAtPosition):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (163498 => 163499)


--- trunk/Source/WebKit2/ChangeLog	2014-02-06 01:14:42 UTC (rev 163498)
+++ trunk/Source/WebKit2/ChangeLog	2014-02-06 01:18:23 UTC (rev 163499)
@@ -1,3 +1,17 @@
+2014-02-05  Enrica Casucci  <[email protected]>
+
+        WK2: Tap highlight is positioned incorrectly in iframes.
+        https://bugs.webkit.org/show_bug.cgi?id=128277
+        <rdar://problem/15975993>
+
+        Reviewed by Benjamin Poulain.
+
+        We need to convert the quad to root view coordinates
+        before returning it to the UIProcess for drawing the highlight.
+
+        * WebProcess/WebPage/ios/WebPageIOS.mm:
+        (WebKit::WebPage::tapHighlightAtPosition):
+
 2014-02-05  Ryuan Choi  <[email protected]>
 
         Unreviewed build fix attempt on EFL build after r163480

Modified: trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm (163498 => 163499)


--- trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-02-06 01:14:42 UTC (rev 163498)
+++ trunk/Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm	2014-02-06 01:18:23 UTC (rev 163499)
@@ -318,6 +318,16 @@
     if (renderer) {
         renderer->absoluteQuads(quads);
         Color highlightColor = node->computedStyle()->tapHighlightColor();
+        if (!node->document().frame()->isMainFrame()) {
+            FrameView* view = node->document().frame()->view();
+            for (size_t i = 0; i < quads.size(); ++i) {
+                FloatQuad& currentQuad = quads[i];
+                currentQuad.setP1(view->contentsToRootView(roundedIntPoint(currentQuad.p1())));
+                currentQuad.setP2(view->contentsToRootView(roundedIntPoint(currentQuad.p2())));
+                currentQuad.setP3(view->contentsToRootView(roundedIntPoint(currentQuad.p3())));
+                currentQuad.setP4(view->contentsToRootView(roundedIntPoint(currentQuad.p4())));
+            }
+        }
 
         RoundedRect::Radii borderRadii;
         if (renderer->isBox()) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to