Title: [163989] trunk/Source/WebCore
Revision
163989
Author
[email protected]
Date
2014-02-12 14:37:20 -0800 (Wed, 12 Feb 2014)

Log Message

WK2: coordinate mapping for frames does not work when the page is scrolled.
https://bugs.webkit.org/show_bug.cgi?id=128690
<rdar://problem/16042925>

Reviewed by Simon Fraser.

We should not apply the scroll offset when using delegate scrolling.

* platform/ScrollView.cpp:
(WebCore::ScrollView::rootViewToContents):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (163988 => 163989)


--- trunk/Source/WebCore/ChangeLog	2014-02-12 22:36:56 UTC (rev 163988)
+++ trunk/Source/WebCore/ChangeLog	2014-02-12 22:37:20 UTC (rev 163989)
@@ -1,3 +1,18 @@
+2014-02-12  Enrica Casucci  <[email protected]>
+
+        WK2: coordinate mapping for frames does not work when the page is scrolled.
+        https://bugs.webkit.org/show_bug.cgi?id=128690
+        <rdar://problem/16042925>
+
+        Reviewed by Simon Fraser.
+
+        We should not apply the scroll offset when using delegate scrolling.
+
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::rootViewToContents):
+        (WebCore::ScrollView::contentsToRootView):
+        (WebCore::ScrollView::rootViewToTotalContents):
+
 2014-02-12  Joseph Pecoraro  <[email protected]>
 
         Web Inspector: Rename PageInjectedScript* to WebInjectedScript*

Modified: trunk/Source/WebCore/platform/ScrollView.cpp (163988 => 163989)


--- trunk/Source/WebCore/platform/ScrollView.cpp	2014-02-12 22:36:56 UTC (rev 163988)
+++ trunk/Source/WebCore/platform/ScrollView.cpp	2014-02-12 22:37:20 UTC (rev 163989)
@@ -780,18 +780,27 @@
 
 IntPoint ScrollView::rootViewToContents(const IntPoint& rootViewPoint) const
 {
+    if (delegatesScrolling())
+        return convertFromRootView(rootViewPoint);
+
     IntPoint viewPoint = convertFromRootView(rootViewPoint);
     return viewPoint + scrollOffsetRelativeToDocument();
 }
 
 IntPoint ScrollView::contentsToRootView(const IntPoint& contentsPoint) const
 {
+    if (delegatesScrolling())
+        return convertToRootView(contentsPoint);
+
     IntPoint viewPoint = contentsPoint + IntSize(0, headerHeight()) - scrollOffset();
     return convertToRootView(viewPoint);  
 }
 
 IntRect ScrollView::rootViewToContents(const IntRect& rootViewRect) const
 {
+    if (delegatesScrolling())
+        return convertFromRootView(rootViewRect);
+
     IntRect viewRect = convertFromRootView(rootViewRect);
     viewRect.move(scrollOffsetRelativeToDocument());
     return viewRect;
@@ -799,6 +808,9 @@
 
 IntRect ScrollView::contentsToRootView(const IntRect& contentsRect) const
 {
+    if (delegatesScrolling())
+        return convertToRootView(contentsRect);
+
     IntRect viewRect = contentsRect;
     viewRect.move(-scrollOffset() + IntSize(0, headerHeight()));
     return convertToRootView(viewRect);
@@ -806,6 +818,9 @@
 
 IntPoint ScrollView::rootViewToTotalContents(const IntPoint& rootViewPoint) const
 {
+    if (delegatesScrolling())
+        return convertFromRootView(rootViewPoint);
+
     IntPoint viewPoint = convertFromRootView(rootViewPoint);
     return viewPoint + scrollOffset();
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to