Remove scrolledContentOffset() from rendering code
https://bugs.webkit.org/show_bug.cgi?id=157552
Reviewed by Zalan Bujtas.
scrolledContentOffset() is misleading because it returns a scrollPosition().
Just use the name scrollPosition(), returning a ScrollPosition (IntPoint),
and fix callers that need to convert to layout size.
* editing/VisibleUnits.cpp:
(WebCore::absoluteLineDirectionPointToLocalPointInBlock):
* rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGapRectsForRepaint):
(WebCore::RenderBlock::paintSelection):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::RenderBlock::offsetForContents):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::scrollPosition):
(WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
(WebCore::isCandidateForOpaquenessTest):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
(WebCore::RenderBox::scrolledContentOffset): Deleted.
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::offsetFromContainer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::offsetFromContainer):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::offsetFromContainer):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::hitInnerTextElement):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@200671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index f76eb58..c28e843 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,59 @@
2016-05-10 Simon Fraser <simon.fraser@apple.com>
+ Remove scrolledContentOffset() from rendering code
+ https://bugs.webkit.org/show_bug.cgi?id=157552
+
+ Reviewed by Zalan Bujtas.
+
+ scrolledContentOffset() is misleading because it returns a scrollPosition().
+ Just use the name scrollPosition(), returning a ScrollPosition (IntPoint),
+ and fix callers that need to convert to layout size.
+
+ * editing/VisibleUnits.cpp:
+ (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
+ * rendering/LayoutState.cpp:
+ (WebCore::LayoutState::LayoutState):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::paintObject):
+ (WebCore::RenderBlock::selectionGapRectsForRepaint):
+ (WebCore::RenderBlock::paintSelection):
+ (WebCore::RenderBlock::nodeAtPoint):
+ (WebCore::RenderBlock::offsetForContents):
+ * rendering/RenderBlockFlow.cpp:
+ (WebCore::RenderBlockFlow::layoutBlock):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::scrollPosition):
+ (WebCore::RenderBox::applyCachedClipAndScrollOffsetForRepaint):
+ (WebCore::isCandidateForOpaquenessTest):
+ (WebCore::RenderBox::offsetFromContainer):
+ (WebCore::RenderBox::layoutOverflowRectForPropagation):
+ (WebCore::RenderBox::scrolledContentOffset): Deleted.
+ * rendering/RenderBox.h:
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::paintFillLayerExtended):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::offsetFromContainer):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPosition):
+ (WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
+ (WebCore::RenderLayer::calculateClipRects):
+ * rendering/RenderLayer.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGeometry):
+ * rendering/RenderMultiColumnFlowThread.cpp:
+ (WebCore::RenderMultiColumnFlowThread::offsetFromContainer):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::mapLocalToContainer):
+ (WebCore::RenderObject::pushMappingToContainer):
+ (WebCore::RenderObject::mapAbsoluteToLocalPoint):
+ (WebCore::RenderObject::offsetFromContainer):
+ * rendering/RenderTextControl.cpp:
+ (WebCore::RenderTextControl::hitInnerTextElement):
+
+2016-05-10 Simon Fraser <simon.fraser@apple.com>
+
Horizontally-scrollable items with a 3d transform are rendered incorrectly in RTL when container has -webkit-overflow-scroll: touch
https://bugs.webkit.org/show_bug.cgi?id=157482
rdar://problem/26204794
diff --git a/Source/WebCore/editing/VisibleUnits.cpp b/Source/WebCore/editing/VisibleUnits.cpp
index 622f436..4c0e2f6 100644
--- a/Source/WebCore/editing/VisibleUnits.cpp
+++ b/Source/WebCore/editing/VisibleUnits.cpp
@@ -972,7 +972,7 @@
static inline IntPoint absoluteLineDirectionPointToLocalPointInBlock(RootInlineBox& root, int lineDirectionPoint)
{
RenderBlockFlow& containingBlock = root.blockFlow();
- FloatPoint absoluteBlockPoint = containingBlock.localToAbsolute(FloatPoint()) - containingBlock.scrolledContentOffset();
+ FloatPoint absoluteBlockPoint = containingBlock.localToAbsolute(FloatPoint()) - toFloatSize(containingBlock.scrollPosition());
if (containingBlock.isHorizontalWritingMode())
return IntPoint(lineDirectionPoint - absoluteBlockPoint.x(), root.blockDirectionPointInLine());
diff --git a/Source/WebCore/rendering/LayoutState.cpp b/Source/WebCore/rendering/LayoutState.cpp
index 9677c8c..fc80183 100644
--- a/Source/WebCore/rendering/LayoutState.cpp
+++ b/Source/WebCore/rendering/LayoutState.cpp
@@ -75,7 +75,7 @@
m_clipped = true;
}
- m_paintOffset -= renderer->scrolledContentOffset();
+ m_paintOffset -= toLayoutSize(renderer->scrollPosition());
}
// If we establish a new page height, then cache the offset to the top of the first page.
@@ -141,7 +141,7 @@
m_clipped = true;
auto& containerBox = downcast<RenderBox>(*container);
m_clipRect = LayoutRect(toLayoutPoint(m_paintOffset), containerBox.cachedSizeForOverflowClip());
- m_paintOffset -= containerBox.scrolledContentOffset();
+ m_paintOffset -= toLayoutSize(containerBox.scrollPosition());
}
}
}
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp
index 163cdd4..a90b5e8 100644
--- a/Source/WebCore/rendering/RenderBlock.cpp
+++ b/Source/WebCore/rendering/RenderBlock.cpp
@@ -1571,7 +1571,7 @@
// Adjust our painting position if we're inside a scrolled layer (e.g., an overflow:auto div).
LayoutPoint scrolledOffset = paintOffset;
- scrolledOffset.move(-scrolledContentOffset());
+ scrolledOffset.moveBy(-scrollPosition());
// Column rules need to account for scrolling and clipping.
// FIXME: Clipping of column rules does not work. We will need a separate paint phase for column rules I suspect in order to get
@@ -1754,7 +1754,7 @@
return GapRects();
FloatPoint containerPoint = localToContainerPoint(FloatPoint(), repaintContainer, UseTransforms);
- LayoutPoint offsetFromRepaintContainer(containerPoint - scrolledContentOffset());
+ LayoutPoint offsetFromRepaintContainer(containerPoint - toFloatSize(scrollPosition()));
LogicalSelectionOffsetCaches cache(*this);
LayoutUnit lastTop = 0;
@@ -1783,7 +1783,7 @@
flipForWritingMode(localBounds);
gapRectsBounds = localToContainerQuad(FloatRect(localBounds), &layer->renderer()).enclosingBoundingBox();
if (layer->renderer().isBox())
- gapRectsBounds.move(layer->renderBox()->scrolledContentOffset());
+ gapRectsBounds.moveBy(layer->renderBox()->scrollPosition());
}
layer->addBlockSelectionGapsBounds(gapRectsBounds);
}
@@ -2487,7 +2487,7 @@
bool checkChildren = !useClip || (hasControlClip() ? locationInContainer.intersects(controlClipRect(adjustedLocation)) : locationInContainer.intersects(overflowClipRect(adjustedLocation, namedFlowFragment, IncludeOverlayScrollbarSize)));
if (checkChildren) {
// Hit test descendants first.
- LayoutSize scrolledOffset(localOffset - scrolledContentOffset());
+ LayoutSize scrolledOffset(localOffset - toLayoutSize(scrollPosition()));
if (hitTestAction == HitTestFloat && hitTestFloats(request, result, locationInContainer, toLayoutPoint(scrolledOffset)))
return true;
@@ -2659,7 +2659,7 @@
void RenderBlock::offsetForContents(LayoutPoint& offset) const
{
offset = flipForWritingMode(offset);
- offset += scrolledContentOffset();
+ offset += toLayoutSize(scrollPosition());
offset = flipForWritingMode(offset);
}
diff --git a/Source/WebCore/rendering/RenderBlockFlow.cpp b/Source/WebCore/rendering/RenderBlockFlow.cpp
index 55361a3..e00c76e 100644
--- a/Source/WebCore/rendering/RenderBlockFlow.cpp
+++ b/Source/WebCore/rendering/RenderBlockFlow.cpp
@@ -564,7 +564,7 @@
if (hasOverflowClip()) {
// Adjust repaint rect for scroll offset
- repaintRect.move(-scrolledContentOffset());
+ repaintRect.moveBy(-scrollPosition());
// Don't allow this rect to spill out of our overflow box.
repaintRect.intersect(LayoutRect(LayoutPoint(), size()));
diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp
index 6c1602d..9fc0a36 100644
--- a/Source/WebCore/rendering/RenderBox.cpp
+++ b/Source/WebCore/rendering/RenderBox.cpp
@@ -990,14 +990,13 @@
return style().paddingStart().isPercentOrCalculated() || style().paddingEnd().isPercentOrCalculated();
}
-IntSize RenderBox::scrolledContentOffset() const
+ScrollPosition RenderBox::scrollPosition() const
{
if (!hasOverflowClip())
- return IntSize();
+ return { 0, 0 };
ASSERT(hasLayer());
- // FIXME: Renderer code needs scrollOffset/scrollPosition disambiguation.
- return layer()->scrolledContentOffset();
+ return layer()->scrollPosition();
}
LayoutSize RenderBox::cachedSizeForOverflowClip() const
@@ -1010,7 +1009,7 @@
void RenderBox::applyCachedClipAndScrollOffsetForRepaint(LayoutRect& paintRect) const
{
flipForWritingMode(paintRect);
- paintRect.move(-scrolledContentOffset()); // For overflow:auto/scroll/hidden.
+ paintRect.moveBy(-scrollPosition()); // For overflow:auto/scroll/hidden.
// Do not clip scroll layer contents to reduce the number of repaints while scrolling.
if (usesCompositedScrolling()) {
@@ -1476,7 +1475,7 @@
return false;
if (childLayer->hasTransform() || childLayer->isTransparent() || childLayer->hasFilter())
return false;
- if (!childBox.scrolledContentOffset().isZero())
+ if (!childBox.scrollPosition().isZero())
return false;
}
return true;
@@ -2108,7 +2107,7 @@
offset += topLeftLocationOffset();
if (is<RenderBox>(renderer))
- offset -= downcast<RenderBox>(renderer).scrolledContentOffset();
+ offset -= toLayoutSize(downcast<RenderBox>(renderer).scrollPosition());
if (style().position() == AbsolutePosition && renderer.isInFlowPositioned() && is<RenderInline>(renderer))
offset += downcast<RenderInline>(renderer).offsetForInFlowPositionedInline(this);
@@ -4938,7 +4937,7 @@
return overflowRect;
overflowRect.unite(layoutOverflowRect());
- overflowRect.move(-scrolledContentOffset());
+ overflowRect.moveBy(-scrollPosition());
return overflowRect;
}
diff --git a/Source/WebCore/rendering/RenderBox.h b/Source/WebCore/rendering/RenderBox.h
index 6578552c..163ed2a 100644
--- a/Source/WebCore/rendering/RenderBox.h
+++ b/Source/WebCore/rendering/RenderBox.h
@@ -574,7 +574,7 @@
virtual bool needsPreferredWidthsRecalculation() const;
virtual void computeIntrinsicRatioInformation(FloatSize& /* intrinsicSize */, double& /* intrinsicRatio */) const { }
- IntSize scrolledContentOffset() const;
+ ScrollPosition scrollPosition() const;
LayoutSize cachedSizeForOverflowClip() const;
void applyCachedClipAndScrollOffsetForRepaint(LayoutRect& paintRect) const;
diff --git a/Source/WebCore/rendering/RenderBoxModelObject.cpp b/Source/WebCore/rendering/RenderBoxModelObject.cpp
index dfb962c..970aa27 100644
--- a/Source/WebCore/rendering/RenderBoxModelObject.cpp
+++ b/Source/WebCore/rendering/RenderBoxModelObject.cpp
@@ -727,8 +727,7 @@
context.clip(thisBox.overflowClipRect(rect.location(), currentRenderNamedFlowFragment()));
// Adjust the paint rect to reflect a scrolled content box with borders at the ends.
- IntSize offset = thisBox.scrolledContentOffset();
- scrolledPaintRect.move(-offset);
+ scrolledPaintRect.moveBy(-thisBox.scrollPosition());
scrolledPaintRect.setWidth(bLeft + layer()->scrollWidth() + bRight);
scrolledPaintRect.setHeight(borderTop() + layer()->scrollHeight() + borderBottom());
}
diff --git a/Source/WebCore/rendering/RenderInline.cpp b/Source/WebCore/rendering/RenderInline.cpp
index 2772bc9..50aaec1 100644
--- a/Source/WebCore/rendering/RenderInline.cpp
+++ b/Source/WebCore/rendering/RenderInline.cpp
@@ -1318,7 +1318,7 @@
offset += offsetForInFlowPosition();
if (is<RenderBox>(container))
- offset -= downcast<RenderBox>(container).scrolledContentOffset();
+ offset -= toLayoutSize(downcast<RenderBox>(container).scrollPosition());
if (offsetDependsOnPoint)
*offsetDependsOnPoint = (is<RenderBox>(container) && container.style().isFlippedBlocksWritingMode()) || is<RenderFlowThread>(container);
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index 5a6d4c4..7c262be 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -1346,20 +1346,16 @@
RenderLayer* positionedParent;
if (renderer().isOutOfFlowPositioned() && (positionedParent = enclosingAncestorForPosition(renderer().style().position()))) {
// For positioned layers, we subtract out the enclosing positioned layer's scroll offset.
- if (positionedParent->renderer().hasOverflowClip()) {
- LayoutSize offset = positionedParent->scrolledContentOffset();
- localPoint -= offset;
- }
+ if (positionedParent->renderer().hasOverflowClip())
+ localPoint -= toLayoutSize(positionedParent->scrollPosition());
if (renderer().isOutOfFlowPositioned() && positionedParent->renderer().isInFlowPositioned() && is<RenderInline>(positionedParent->renderer())) {
LayoutSize offset = downcast<RenderInline>(positionedParent->renderer()).offsetForInFlowPositionedInline(&downcast<RenderBox>(renderer()));
localPoint += offset;
}
} else if (parent()) {
- if (parent()->renderer().hasOverflowClip()) {
- IntSize scrollOffset = parent()->scrolledContentOffset();
- localPoint -= scrollOffset;
- }
+ if (parent()->renderer().hasOverflowClip())
+ localPoint -= toLayoutSize(parent()->scrollPosition());
}
bool positionOrOffsetChanged = false;
@@ -5444,7 +5440,7 @@
LayoutPoint portionLocation = flowThreadPortionRect.location();
LayoutRect regionContentBox = namedFlowFragment->fragmentContainer().contentBoxRect();
- LayoutSize moveOffset = portionLocation - regionContentBox.location() + namedFlowFragment->fragmentContainer().scrolledContentOffset();
+ LayoutSize moveOffset = portionLocation - regionContentBox.location() + toLayoutSize(namedFlowFragment->fragmentContainer().scrollPosition());
ClipRect newOverflowClipRect = clipRects.overflowClipRect();
newOverflowClipRect.move(moveOffset);
@@ -5762,7 +5758,7 @@
return;
LayoutRect rect = m_blockSelectionGapsBounds;
- rect.move(-scrolledContentOffset());
+ rect.moveBy(-scrollPosition());
if (renderer().hasOverflowClip() && !usesCompositedScrolling())
rect.intersect(downcast<RenderBox>(renderer()).overflowClipRect(LayoutPoint(), nullptr)); // FIXME: Regions not accounted for.
if (renderer().hasClip())
@@ -6958,7 +6954,7 @@
CurrentRenderRegionMaintainer regionMaintainer(*region);
region->setRegionObjectsRegionStyle();
- LayoutSize moveOffset = region->flowThreadPortionLocation() - (paintOffset + regionContentBox.location()) + region->fragmentContainer().scrolledContentOffset();
+ LayoutSize moveOffset = region->flowThreadPortionLocation() - (paintOffset + regionContentBox.location()) + toLayoutSize(region->fragmentContainer().scrollPosition());
FloatPoint adjustedPaintOffset = roundPointToDevicePixels(toLayoutPoint(moveOffset), renderer().document().deviceScaleFactor());
context.save();
context.translate(-adjustedPaintOffset.x(), -adjustedPaintOffset.y());
@@ -7046,7 +7042,7 @@
if (!fragment.backgroundRect.intersects(hitTestLocation))
continue;
- LayoutSize hitTestOffset = portionLocation - (fragment.layerBounds.location() + regionContentBox.location()) + region.fragmentContainer().scrolledContentOffset();
+ LayoutSize hitTestOffset = portionLocation - (fragment.layerBounds.location() + regionContentBox.location()) + toLayoutSize(region.fragmentContainer().scrollPosition());
// Always ignore clipping, since the RenderFlowThread has nothing to do with the bounds of the FrameView.
HitTestRequest newRequest(request.type() | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowUserAgentShadowContent);
diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h
index ef8ecff..a19513f 100644
--- a/Source/WebCore/rendering/RenderLayer.h
+++ b/Source/WebCore/rendering/RenderLayer.h
@@ -758,10 +758,6 @@
typedef unsigned UpdateLayerPositionsAfterScrollFlags;
void updateLayerPositionsAfterScroll(RenderGeometryMap*, UpdateLayerPositionsAfterScrollFlags = NoFlag);
- friend IntSize RenderBox::scrolledContentOffset() const;
- // FIXME: rename this toscrolledContentPosition(), or remove it.
- IntSize scrolledContentOffset() const { return toIntSize(m_scrollPosition); }
-
ScrollOffset clampScrollOffset(const ScrollOffset&) const;
RenderLayer* enclosingPaginationLayerInSubtree(const RenderLayer* rootLayer, PaginationInclusionMode) const;
diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp
index e1a478b..520728d 100644
--- a/Source/WebCore/rendering/RenderLayerBacking.cpp
+++ b/Source/WebCore/rendering/RenderLayerBacking.cpp
@@ -822,9 +822,8 @@
#else
if (compAncestor && compAncestor->needsCompositedScrolling()) {
auto& renderBox = downcast<RenderBox>(compAncestor->renderer());
- LayoutSize scrollOffset = compAncestor->scrolledContentOffset();
LayoutPoint scrollOrigin(renderBox.borderLeft(), renderBox.borderTop());
- graphicsLayerParentLocation = scrollOrigin - scrollOffset;
+ graphicsLayerParentLocation = scrollOrigin - toLayoutSize(compAncestor->scrollOffset());
}
#endif
diff --git a/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp b/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp
index 0dc5af4..aa54b95 100644
--- a/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp
+++ b/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp
@@ -610,7 +610,7 @@
LayoutSize offset(translatedPhysicalPoint.x(), translatedPhysicalPoint.y());
if (is<RenderBox>(enclosingContainer))
- offset -= downcast<RenderBox>(enclosingContainer).scrolledContentOffset();
+ offset -= toLayoutSize(downcast<RenderBox>(enclosingContainer).scrollPosition());
return offset;
}
diff --git a/Source/WebCore/rendering/RenderNamedFlowThread.cpp b/Source/WebCore/rendering/RenderNamedFlowThread.cpp
index 7fb0338..c2be100 100644
--- a/Source/WebCore/rendering/RenderNamedFlowThread.cpp
+++ b/Source/WebCore/rendering/RenderNamedFlowThread.cpp
@@ -296,26 +296,26 @@
flipForWritingModeLocalCoordinates(visualOverflowRect);
// Take the scrolled offset of this object's parents into consideration.
- IntSize scrolledContentOffset;
+ ScrollPosition scrollPosition;
RenderBlock* containingBlock = box.containingBlock();
while (containingBlock && !is<RenderView>(*containingBlock)) {
if (containingBlock->isRenderNamedFlowThread()) {
// We've reached the flow thread, take the scrolled offset of the region into consideration.
ASSERT(containingBlock == this);
- scrolledContentOffset += fragment.fragmentContainer().scrolledContentOffset();
+ scrollPosition += toIntSize(fragment.fragmentContainer().scrollPosition());
break;
}
- scrolledContentOffset += containingBlock->scrolledContentOffset();
+ scrollPosition += toIntSize(containingBlock->scrollPosition());
containingBlock = containingBlock->containingBlock();
}
- if (!scrolledContentOffset.isZero()) {
+ if (!scrollPosition.isZero()) {
if (style().isFlippedBlocksWritingMode())
- scrolledContentOffset = -scrolledContentOffset;
+ scrollPosition = -scrollPosition;
- visualOverflowRect.inflateX(scrolledContentOffset.width());
- visualOverflowRect.inflateY(scrolledContentOffset.height());
+ visualOverflowRect.inflateX(scrollPosition.x());
+ visualOverflowRect.inflateY(scrollPosition.y());
}
// Layers are in physical coordinates so the origin must be moved to the physical top-left of the flowthread.
diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp
index 1a6a1d4..f99fe89 100644
--- a/Source/WebCore/rendering/RenderObject.cpp
+++ b/Source/WebCore/rendering/RenderObject.cpp
@@ -1248,7 +1248,7 @@
}
if (is<RenderBox>(*parent))
- transformState.move(-downcast<RenderBox>(*parent).scrolledContentOffset());
+ transformState.move(-toLayoutSize(downcast<RenderBox>(*parent).scrollPosition()));
parent->mapLocalToContainer(repaintContainer, transformState, mode, wasFixed);
}
@@ -1264,7 +1264,7 @@
// FIXME: this should call offsetFromContainer to share code, but I'm not sure it's ever called.
LayoutSize offset;
if (is<RenderBox>(*container))
- offset = -downcast<RenderBox>(*container).scrolledContentOffset();
+ offset = -toLayoutSize(downcast<RenderBox>(*container).scrollPosition());
geometryMap.push(this, offset, false);
@@ -1276,7 +1276,7 @@
if (auto* parent = this->parent()) {
parent->mapAbsoluteToLocalPoint(mode, transformState);
if (is<RenderBox>(*parent))
- transformState.move(downcast<RenderBox>(*parent).scrolledContentOffset());
+ transformState.move(toLayoutSize(downcast<RenderBox>(*parent).scrollPosition()));
}
}
@@ -1342,7 +1342,7 @@
LayoutSize offset;
if (is<RenderBox>(container))
- offset -= downcast<RenderBox>(container).scrolledContentOffset();
+ offset -= toLayoutSize(downcast<RenderBox>(container).scrollPosition());
if (offsetDependsOnPoint)
*offsetDependsOnPoint = is<RenderFlowThread>(container);
diff --git a/Source/WebCore/rendering/RenderTextControl.cpp b/Source/WebCore/rendering/RenderTextControl.cpp
index 321e50d..2325dd9 100644
--- a/Source/WebCore/rendering/RenderTextControl.cpp
+++ b/Source/WebCore/rendering/RenderTextControl.cpp
@@ -119,7 +119,7 @@
return;
LayoutPoint adjustedLocation = accumulatedOffset + location();
- LayoutPoint localPoint = pointInContainer - toLayoutSize(adjustedLocation + innerText->renderBox()->location()) + scrolledContentOffset();
+ LayoutPoint localPoint = pointInContainer - toLayoutSize(adjustedLocation + innerText->renderBox()->location()) + toLayoutSize(scrollPosition());
result.setInnerNode(innerText);
result.setInnerNonSharedNode(innerText);
result.setLocalPoint(localPoint);