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