Title: [240232] trunk/Source/WebCore
Revision
240232
Author
an...@apple.com
Date
2019-01-21 04:27:53 -0800 (Mon, 21 Jan 2019)

Log Message

Move delegatesScrolling() tests to lower level conversion function in ScrollView
https://bugs.webkit.org/show_bug.cgi?id=193649

Reviewed by Frédéric Wang.

This reduces places where these tests are needed and helps avoid mistakes.

* dom/Document.cpp:
(WebCore::computeIntersectionState):
* page/FrameView.cpp:
(WebCore::FrameView::convertFromRendererToContainingView const):
(WebCore::FrameView::convertFromContainingViewToRenderer const):
* platform/ScrollView.cpp:
(WebCore::ScrollView::viewToContents const):
(WebCore::ScrollView::contentsToView const):
(WebCore::ScrollView::contentsToContainingViewContents const):
(WebCore::ScrollView::rootViewToContents const):
(WebCore::ScrollView::contentsToRootView const):
(WebCore::ScrollView::windowToContents const):
(WebCore::ScrollView::contentsToWindow const):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (240231 => 240232)


--- trunk/Source/WebCore/ChangeLog	2019-01-21 10:14:00 UTC (rev 240231)
+++ trunk/Source/WebCore/ChangeLog	2019-01-21 12:27:53 UTC (rev 240232)
@@ -1,3 +1,26 @@
+2019-01-21  Antti Koivisto  <an...@apple.com>
+
+        Move delegatesScrolling() tests to lower level conversion function in ScrollView
+        https://bugs.webkit.org/show_bug.cgi?id=193649
+
+        Reviewed by Frédéric Wang.
+
+        This reduces places where these tests are needed and helps avoid mistakes.
+
+        * dom/Document.cpp:
+        (WebCore::computeIntersectionState):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::convertFromRendererToContainingView const):
+        (WebCore::FrameView::convertFromContainingViewToRenderer const):
+        * platform/ScrollView.cpp:
+        (WebCore::ScrollView::viewToContents const):
+        (WebCore::ScrollView::contentsToView const):
+        (WebCore::ScrollView::contentsToContainingViewContents const):
+        (WebCore::ScrollView::rootViewToContents const):
+        (WebCore::ScrollView::contentsToRootView const):
+        (WebCore::ScrollView::windowToContents const):
+        (WebCore::ScrollView::contentsToWindow const):
+
 2019-01-21  Carlos Garcia Campos  <cgar...@igalia.com>
 
         REGRESSION(r239915): about 130 test failures on WPE

Modified: trunk/Source/WebCore/dom/Document.cpp (240231 => 240232)


--- trunk/Source/WebCore/dom/Document.cpp	2019-01-21 10:14:00 UTC (rev 240231)
+++ trunk/Source/WebCore/dom/Document.cpp	2019-01-21 12:27:53 UTC (rev 240232)
@@ -7919,7 +7919,7 @@
         if (&targetRenderer->frame() == &rootRenderer->frame())
             intersectionState.absoluteIntersectionRect = rootAbsoluteIntersectionRect;
         else {
-            FloatRect rootViewIntersectionRect = frameView.delegatesScrolling() ? rootAbsoluteIntersectionRect : frameView.contentsToView(rootAbsoluteIntersectionRect);
+            FloatRect rootViewIntersectionRect = frameView.contentsToView(rootAbsoluteIntersectionRect);
             intersectionState.absoluteIntersectionRect = targetRenderer->view().frameView().rootViewToContents(rootViewIntersectionRect);
         }
     }

Modified: trunk/Source/WebCore/page/FrameView.cpp (240231 => 240232)


--- trunk/Source/WebCore/page/FrameView.cpp	2019-01-21 10:14:00 UTC (rev 240231)
+++ trunk/Source/WebCore/page/FrameView.cpp	2019-01-21 12:27:53 UTC (rev 240232)
@@ -4654,19 +4654,12 @@
 {
     IntRect rect = snappedIntRect(enclosingLayoutRect(renderer->localToAbsoluteQuad(FloatRect(rendererRect)).boundingBox()));
 
-    if (!delegatesScrolling())
-        rect = contentsToView(rect);
-
-    return rect;
+    return contentsToView(rect);
 }
 
 IntRect FrameView::convertFromContainingViewToRenderer(const RenderElement* renderer, const IntRect& viewRect) const
 {
-    IntRect rect = viewRect;
-    
-    // Convert from FrameView coords into page ("absolute") coordinates.
-    if (!delegatesScrolling())
-        rect = viewToContents(rect);
+    IntRect rect = viewToContents(viewRect);
 
     // FIXME: we don't have a way to map an absolute rect down to a local quad, so just
     // move the rect for now.
@@ -4676,12 +4669,8 @@
 
 FloatRect FrameView::convertFromContainingViewToRenderer(const RenderElement* renderer, const FloatRect& viewRect) const
 {
-    FloatRect rect = viewRect;
+    FloatRect rect = viewToContents(viewRect);
 
-    // Convert from FrameView coords into page ("absolute") coordinates.
-    if (!delegatesScrolling())
-        rect = viewToContents(rect);
-
     return (renderer->absoluteToLocalQuad(rect)).boundingBox();
 }
 
@@ -4689,11 +4678,7 @@
 {
     IntPoint point = roundedIntPoint(renderer->localToAbsolute(rendererPoint, UseTransforms));
 
-    // Convert from page ("absolute") to FrameView coordinates.
-    if (!delegatesScrolling())
-        point = contentsToView(point);
-
-    return point;
+    return contentsToView(point);
 }
 
 IntPoint FrameView::convertFromContainingViewToRenderer(const RenderElement* renderer, const IntPoint& viewPoint) const

Modified: trunk/Source/WebCore/platform/ScrollView.cpp (240231 => 240232)


--- trunk/Source/WebCore/platform/ScrollView.cpp	2019-01-21 10:14:00 UTC (rev 240231)
+++ trunk/Source/WebCore/platform/ScrollView.cpp	2019-01-21 12:27:53 UTC (rev 240232)
@@ -815,16 +815,25 @@
 
 IntPoint ScrollView::viewToContents(const IntPoint& point) const
 {
+    if (delegatesScrolling())
+        return point;
+
     return point + toIntSize(documentScrollPositionRelativeToViewOrigin());
 }
 
 IntPoint ScrollView::contentsToView(const IntPoint& point) const
 {
+    if (delegatesScrolling())
+        return point;
+
     return point - toIntSize(documentScrollPositionRelativeToViewOrigin());
 }
 
 IntRect ScrollView::viewToContents(IntRect rect) const
 {
+    if (delegatesScrolling())
+        return rect;
+
     rect.moveBy(documentScrollPositionRelativeToViewOrigin());
     return rect;
 }
@@ -831,6 +840,9 @@
 
 FloatRect ScrollView::viewToContents(FloatRect rect) const
 {
+    if (delegatesScrolling())
+        return rect;
+
     rect.moveBy(documentScrollPositionRelativeToViewOrigin());
     return rect;
 }
@@ -837,6 +849,9 @@
 
 IntRect ScrollView::contentsToView(IntRect rect) const
 {
+    if (delegatesScrolling())
+        return rect;
+
     rect.moveBy(-documentScrollPositionRelativeToViewOrigin());
     return rect;
 }
@@ -843,6 +858,9 @@
 
 FloatRect ScrollView::contentsToView(FloatRect rect) const
 {
+    if (delegatesScrolling())
+        return rect;
+
     rect.moveBy(-documentScrollPositionRelativeToViewOrigin());
     return rect;
 }
@@ -859,9 +877,6 @@
 
 IntRect ScrollView::contentsToContainingViewContents(IntRect rect) const
 {
-    if (delegatesScrolling())
-        return convertToContainingView(contentsToView(rect));
-    
     if (const ScrollView* parentScrollView = parent()) {
         IntRect rectInContainingView = convertToContainingView(contentsToView(rect));
         return parentScrollView->viewToContents(rectInContainingView);
@@ -872,33 +887,21 @@
 
 IntPoint ScrollView::rootViewToContents(const IntPoint& rootViewPoint) const
 {
-    if (delegatesScrolling())
-        return convertFromRootView(rootViewPoint);
-
     return viewToContents(convertFromRootView(rootViewPoint));
 }
 
 IntPoint ScrollView::contentsToRootView(const IntPoint& contentsPoint) const
 {
-    if (delegatesScrolling())
-        return convertToRootView(contentsPoint);
-
     return convertToRootView(contentsToView(contentsPoint));
 }
 
 IntRect ScrollView::rootViewToContents(const IntRect& rootViewRect) const
 {
-    if (delegatesScrolling())
-        return convertFromRootView(rootViewRect);
-
     return viewToContents(convertFromRootView(rootViewRect));
 }
 
 FloatRect ScrollView::rootViewToContents(const FloatRect& rootViewRect) const
 {
-    if (delegatesScrolling())
-        return convertFromRootView(rootViewRect);
-
     return viewToContents(convertFromRootView(rootViewRect));
 }
 
@@ -914,41 +917,26 @@
 
 IntRect ScrollView::contentsToRootView(const IntRect& contentsRect) const
 {
-    if (delegatesScrolling())
-        return convertToRootView(contentsRect);
-
     return convertToRootView(contentsToView(contentsRect));
 }
 
 IntPoint ScrollView::windowToContents(const IntPoint& windowPoint) const
 {
-    if (delegatesScrolling())
-        return convertFromContainingWindow(windowPoint);
-
     return viewToContents(convertFromContainingWindow(windowPoint));
 }
 
 IntPoint ScrollView::contentsToWindow(const IntPoint& contentsPoint) const
 {
-    if (delegatesScrolling())
-        return convertToContainingWindow(contentsPoint);
-
     return convertToContainingWindow(contentsToView(contentsPoint));
 }
 
 IntRect ScrollView::windowToContents(const IntRect& windowRect) const
 {
-    if (delegatesScrolling())
-        return convertFromContainingWindow(windowRect);
-
     return viewToContents(convertFromContainingWindow(windowRect));
 }
 
 IntRect ScrollView::contentsToWindow(const IntRect& contentsRect) const
 {
-    if (delegatesScrolling())
-        return convertToContainingWindow(contentsRect);
-
     return convertToContainingWindow(contentsToView(contentsRect));
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to