<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[200671] trunk/Source/WebCore</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/200671">200671</a></dd>
<dt>Author</dt> <dd>simon.fraser@apple.com</dd>
<dt>Date</dt> <dd>2016-05-10 21:48:08 -0700 (Tue, 10 May 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>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):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreeditingVisibleUnitscpp">trunk/Source/WebCore/editing/VisibleUnits.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingLayoutStatecpp">trunk/Source/WebCore/rendering/LayoutState.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockcpp">trunk/Source/WebCore/rendering/RenderBlock.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBlockFlowcpp">trunk/Source/WebCore/rendering/RenderBlockFlow.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxcpp">trunk/Source/WebCore/rendering/RenderBox.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxh">trunk/Source/WebCore/rendering/RenderBox.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderBoxModelObjectcpp">trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderInlinecpp">trunk/Source/WebCore/rendering/RenderInline.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayercpp">trunk/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerh">trunk/Source/WebCore/rendering/RenderLayer.h</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderLayerBackingcpp">trunk/Source/WebCore/rendering/RenderLayerBacking.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderMultiColumnFlowThreadcpp">trunk/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderNamedFlowThreadcpp">trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderObjectcpp">trunk/Source/WebCore/rendering/RenderObject.cpp</a></li>
<li><a href="#trunkSourceWebCorerenderingRenderTextControlcpp">trunk/Source/WebCore/rendering/RenderTextControl.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/ChangeLog        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -1,5 +1,59 @@
</span><span class="cx"> 2016-05-10  Simon Fraser  &lt;simon.fraser@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        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  &lt;simon.fraser@apple.com&gt;
+
</ins><span class="cx">         Horizontally-scrollable items with a 3d transform are rendered incorrectly in RTL when container has -webkit-overflow-scroll: touch
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=157482
</span><span class="cx">         rdar://problem/26204794
</span></span></pre></div>
<a id="trunkSourceWebCoreeditingVisibleUnitscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/editing/VisibleUnits.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/editing/VisibleUnits.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/editing/VisibleUnits.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -972,7 +972,7 @@
</span><span class="cx"> static inline IntPoint absoluteLineDirectionPointToLocalPointInBlock(RootInlineBox&amp; root, int lineDirectionPoint)
</span><span class="cx"> {
</span><span class="cx">     RenderBlockFlow&amp; containingBlock = root.blockFlow();
</span><del>-    FloatPoint absoluteBlockPoint = containingBlock.localToAbsolute(FloatPoint()) - containingBlock.scrolledContentOffset();
</del><ins>+    FloatPoint absoluteBlockPoint = containingBlock.localToAbsolute(FloatPoint()) - toFloatSize(containingBlock.scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">     if (containingBlock.isHorizontalWritingMode())
</span><span class="cx">         return IntPoint(lineDirectionPoint - absoluteBlockPoint.x(), root.blockDirectionPointInLine());
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingLayoutStatecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/LayoutState.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/LayoutState.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/LayoutState.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">             m_clipped = true;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        m_paintOffset -= renderer-&gt;scrolledContentOffset();
</del><ins>+        m_paintOffset -= toLayoutSize(renderer-&gt;scrollPosition());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // If we establish a new page height, then cache the offset to the top of the first page.
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">             m_clipped = true;
</span><span class="cx">             auto&amp; containerBox = downcast&lt;RenderBox&gt;(*container);
</span><span class="cx">             m_clipRect = LayoutRect(toLayoutPoint(m_paintOffset), containerBox.cachedSizeForOverflowClip());
</span><del>-            m_paintOffset -= containerBox.scrolledContentOffset();
</del><ins>+            m_paintOffset -= toLayoutSize(containerBox.scrollPosition());
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlock.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlock.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderBlock.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -1571,7 +1571,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Adjust our painting position if we're inside a scrolled layer (e.g., an overflow:auto div).
</span><span class="cx">     LayoutPoint scrolledOffset = paintOffset;
</span><del>-    scrolledOffset.move(-scrolledContentOffset());
</del><ins>+    scrolledOffset.moveBy(-scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">     // Column rules need to account for scrolling and clipping.
</span><span class="cx">     // FIXME: Clipping of column rules does not work. We will need a separate paint phase for column rules I suspect in order to get
</span><span class="lines">@@ -1754,7 +1754,7 @@
</span><span class="cx">         return GapRects();
</span><span class="cx"> 
</span><span class="cx">     FloatPoint containerPoint = localToContainerPoint(FloatPoint(), repaintContainer, UseTransforms);
</span><del>-    LayoutPoint offsetFromRepaintContainer(containerPoint - scrolledContentOffset());
</del><ins>+    LayoutPoint offsetFromRepaintContainer(containerPoint - toFloatSize(scrollPosition()));
</ins><span class="cx"> 
</span><span class="cx">     LogicalSelectionOffsetCaches cache(*this);
</span><span class="cx">     LayoutUnit lastTop = 0;
</span><span class="lines">@@ -1783,7 +1783,7 @@
</span><span class="cx">                     flipForWritingMode(localBounds);
</span><span class="cx">                     gapRectsBounds = localToContainerQuad(FloatRect(localBounds), &amp;layer-&gt;renderer()).enclosingBoundingBox();
</span><span class="cx">                     if (layer-&gt;renderer().isBox())
</span><del>-                        gapRectsBounds.move(layer-&gt;renderBox()-&gt;scrolledContentOffset());
</del><ins>+                        gapRectsBounds.moveBy(layer-&gt;renderBox()-&gt;scrollPosition());
</ins><span class="cx">                 }
</span><span class="cx">                 layer-&gt;addBlockSelectionGapsBounds(gapRectsBounds);
</span><span class="cx">             }
</span><span class="lines">@@ -2487,7 +2487,7 @@
</span><span class="cx">     bool checkChildren = !useClip || (hasControlClip() ? locationInContainer.intersects(controlClipRect(adjustedLocation)) : locationInContainer.intersects(overflowClipRect(adjustedLocation, namedFlowFragment, IncludeOverlayScrollbarSize)));
</span><span class="cx">     if (checkChildren) {
</span><span class="cx">         // Hit test descendants first.
</span><del>-        LayoutSize scrolledOffset(localOffset - scrolledContentOffset());
</del><ins>+        LayoutSize scrolledOffset(localOffset - toLayoutSize(scrollPosition()));
</ins><span class="cx"> 
</span><span class="cx">         if (hitTestAction == HitTestFloat &amp;&amp; hitTestFloats(request, result, locationInContainer, toLayoutPoint(scrolledOffset)))
</span><span class="cx">             return true;
</span><span class="lines">@@ -2659,7 +2659,7 @@
</span><span class="cx"> void RenderBlock::offsetForContents(LayoutPoint&amp; offset) const
</span><span class="cx"> {
</span><span class="cx">     offset = flipForWritingMode(offset);
</span><del>-    offset += scrolledContentOffset();
</del><ins>+    offset += toLayoutSize(scrollPosition());
</ins><span class="cx">     offset = flipForWritingMode(offset);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBlockFlow.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderBlockFlow.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -564,7 +564,7 @@
</span><span class="cx"> 
</span><span class="cx">         if (hasOverflowClip()) {
</span><span class="cx">             // Adjust repaint rect for scroll offset
</span><del>-            repaintRect.move(-scrolledContentOffset());
</del><ins>+            repaintRect.moveBy(-scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">             // Don't allow this rect to spill out of our overflow box.
</span><span class="cx">             repaintRect.intersect(LayoutRect(LayoutPoint(), size()));
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderBox.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -990,14 +990,13 @@
</span><span class="cx">     return style().paddingStart().isPercentOrCalculated() || style().paddingEnd().isPercentOrCalculated();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntSize RenderBox::scrolledContentOffset() const
</del><ins>+ScrollPosition RenderBox::scrollPosition() const
</ins><span class="cx"> {
</span><span class="cx">     if (!hasOverflowClip())
</span><del>-        return IntSize();
</del><ins>+        return { 0, 0 };
</ins><span class="cx"> 
</span><span class="cx">     ASSERT(hasLayer());
</span><del>-    // FIXME: Renderer code needs scrollOffset/scrollPosition disambiguation.
-    return layer()-&gt;scrolledContentOffset();
</del><ins>+    return layer()-&gt;scrollPosition();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutSize RenderBox::cachedSizeForOverflowClip() const
</span><span class="lines">@@ -1010,7 +1009,7 @@
</span><span class="cx"> void RenderBox::applyCachedClipAndScrollOffsetForRepaint(LayoutRect&amp; paintRect) const
</span><span class="cx"> {
</span><span class="cx">     flipForWritingMode(paintRect);
</span><del>-    paintRect.move(-scrolledContentOffset()); // For overflow:auto/scroll/hidden.
</del><ins>+    paintRect.moveBy(-scrollPosition()); // For overflow:auto/scroll/hidden.
</ins><span class="cx"> 
</span><span class="cx">     // Do not clip scroll layer contents to reduce the number of repaints while scrolling.
</span><span class="cx">     if (usesCompositedScrolling()) {
</span><span class="lines">@@ -1476,7 +1475,7 @@
</span><span class="cx">             return false;
</span><span class="cx">         if (childLayer-&gt;hasTransform() || childLayer-&gt;isTransparent() || childLayer-&gt;hasFilter())
</span><span class="cx">             return false;
</span><del>-        if (!childBox.scrolledContentOffset().isZero())
</del><ins>+        if (!childBox.scrollPosition().isZero())
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx">     return true;
</span><span class="lines">@@ -2108,7 +2107,7 @@
</span><span class="cx">         offset += topLeftLocationOffset();
</span><span class="cx"> 
</span><span class="cx">     if (is&lt;RenderBox&gt;(renderer))
</span><del>-        offset -= downcast&lt;RenderBox&gt;(renderer).scrolledContentOffset();
</del><ins>+        offset -= toLayoutSize(downcast&lt;RenderBox&gt;(renderer).scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">     if (style().position() == AbsolutePosition &amp;&amp; renderer.isInFlowPositioned() &amp;&amp; is&lt;RenderInline&gt;(renderer))
</span><span class="cx">         offset += downcast&lt;RenderInline&gt;(renderer).offsetForInFlowPositionedInline(this);
</span><span class="lines">@@ -4938,7 +4937,7 @@
</span><span class="cx">         return overflowRect;
</span><span class="cx"> 
</span><span class="cx">     overflowRect.unite(layoutOverflowRect());
</span><del>-    overflowRect.move(-scrolledContentOffset());
</del><ins>+    overflowRect.moveBy(-scrollPosition());
</ins><span class="cx">     return overflowRect;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBox.h (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBox.h        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderBox.h        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -574,7 +574,7 @@
</span><span class="cx">     virtual bool needsPreferredWidthsRecalculation() const;
</span><span class="cx">     virtual void computeIntrinsicRatioInformation(FloatSize&amp; /* intrinsicSize */, double&amp; /* intrinsicRatio */) const { }
</span><span class="cx"> 
</span><del>-    IntSize scrolledContentOffset() const;
</del><ins>+    ScrollPosition scrollPosition() const;
</ins><span class="cx">     LayoutSize cachedSizeForOverflowClip() const;
</span><span class="cx">     void applyCachedClipAndScrollOffsetForRepaint(LayoutRect&amp; paintRect) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderBoxModelObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -727,8 +727,7 @@
</span><span class="cx">         context.clip(thisBox.overflowClipRect(rect.location(), currentRenderNamedFlowFragment()));
</span><span class="cx">         
</span><span class="cx">         // Adjust the paint rect to reflect a scrolled content box with borders at the ends.
</span><del>-        IntSize offset = thisBox.scrolledContentOffset();
-        scrolledPaintRect.move(-offset);
</del><ins>+        scrolledPaintRect.moveBy(-thisBox.scrollPosition());
</ins><span class="cx">         scrolledPaintRect.setWidth(bLeft + layer()-&gt;scrollWidth() + bRight);
</span><span class="cx">         scrolledPaintRect.setHeight(borderTop() + layer()-&gt;scrollHeight() + borderBottom());
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderInlinecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderInline.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderInline.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderInline.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -1318,7 +1318,7 @@
</span><span class="cx">         offset += offsetForInFlowPosition();
</span><span class="cx"> 
</span><span class="cx">     if (is&lt;RenderBox&gt;(container))
</span><del>-        offset -= downcast&lt;RenderBox&gt;(container).scrolledContentOffset();
</del><ins>+        offset -= toLayoutSize(downcast&lt;RenderBox&gt;(container).scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">     if (offsetDependsOnPoint)
</span><span class="cx">         *offsetDependsOnPoint = (is&lt;RenderBox&gt;(container) &amp;&amp; container.style().isFlippedBlocksWritingMode()) || is&lt;RenderFlowThread&gt;(container);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -1346,20 +1346,16 @@
</span><span class="cx">     RenderLayer* positionedParent;
</span><span class="cx">     if (renderer().isOutOfFlowPositioned() &amp;&amp; (positionedParent = enclosingAncestorForPosition(renderer().style().position()))) {
</span><span class="cx">         // For positioned layers, we subtract out the enclosing positioned layer's scroll offset.
</span><del>-        if (positionedParent-&gt;renderer().hasOverflowClip()) {
-            LayoutSize offset = positionedParent-&gt;scrolledContentOffset();
-            localPoint -= offset;
-        }
</del><ins>+        if (positionedParent-&gt;renderer().hasOverflowClip())
+            localPoint -= toLayoutSize(positionedParent-&gt;scrollPosition());
</ins><span class="cx">         
</span><span class="cx">         if (renderer().isOutOfFlowPositioned() &amp;&amp; positionedParent-&gt;renderer().isInFlowPositioned() &amp;&amp; is&lt;RenderInline&gt;(positionedParent-&gt;renderer())) {
</span><span class="cx">             LayoutSize offset = downcast&lt;RenderInline&gt;(positionedParent-&gt;renderer()).offsetForInFlowPositionedInline(&amp;downcast&lt;RenderBox&gt;(renderer()));
</span><span class="cx">             localPoint += offset;
</span><span class="cx">         }
</span><span class="cx">     } else if (parent()) {
</span><del>-        if (parent()-&gt;renderer().hasOverflowClip()) {
-            IntSize scrollOffset = parent()-&gt;scrolledContentOffset();
-            localPoint -= scrollOffset;
-        }
</del><ins>+        if (parent()-&gt;renderer().hasOverflowClip())
+            localPoint -= toLayoutSize(parent()-&gt;scrollPosition());
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     bool positionOrOffsetChanged = false;
</span><span class="lines">@@ -5444,7 +5440,7 @@
</span><span class="cx"> 
</span><span class="cx">     LayoutPoint portionLocation = flowThreadPortionRect.location();
</span><span class="cx">     LayoutRect regionContentBox = namedFlowFragment-&gt;fragmentContainer().contentBoxRect();
</span><del>-    LayoutSize moveOffset = portionLocation - regionContentBox.location() + namedFlowFragment-&gt;fragmentContainer().scrolledContentOffset();
</del><ins>+    LayoutSize moveOffset = portionLocation - regionContentBox.location() + toLayoutSize(namedFlowFragment-&gt;fragmentContainer().scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">     ClipRect newOverflowClipRect = clipRects.overflowClipRect();
</span><span class="cx">     newOverflowClipRect.move(moveOffset);
</span><span class="lines">@@ -5762,7 +5758,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     LayoutRect rect = m_blockSelectionGapsBounds;
</span><del>-    rect.move(-scrolledContentOffset());
</del><ins>+    rect.moveBy(-scrollPosition());
</ins><span class="cx">     if (renderer().hasOverflowClip() &amp;&amp; !usesCompositedScrolling())
</span><span class="cx">         rect.intersect(downcast&lt;RenderBox&gt;(renderer()).overflowClipRect(LayoutPoint(), nullptr)); // FIXME: Regions not accounted for.
</span><span class="cx">     if (renderer().hasClip())
</span><span class="lines">@@ -6958,7 +6954,7 @@
</span><span class="cx">     CurrentRenderRegionMaintainer regionMaintainer(*region);
</span><span class="cx">     region-&gt;setRegionObjectsRegionStyle();
</span><span class="cx"> 
</span><del>-    LayoutSize moveOffset = region-&gt;flowThreadPortionLocation() - (paintOffset + regionContentBox.location()) + region-&gt;fragmentContainer().scrolledContentOffset();
</del><ins>+    LayoutSize moveOffset = region-&gt;flowThreadPortionLocation() - (paintOffset + regionContentBox.location()) + toLayoutSize(region-&gt;fragmentContainer().scrollPosition());
</ins><span class="cx">     FloatPoint adjustedPaintOffset = roundPointToDevicePixels(toLayoutPoint(moveOffset), renderer().document().deviceScaleFactor());
</span><span class="cx">     context.save();
</span><span class="cx">     context.translate(-adjustedPaintOffset.x(), -adjustedPaintOffset.y());
</span><span class="lines">@@ -7046,7 +7042,7 @@
</span><span class="cx">         if (!fragment.backgroundRect.intersects(hitTestLocation))
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        LayoutSize hitTestOffset = portionLocation - (fragment.layerBounds.location() + regionContentBox.location()) + region.fragmentContainer().scrolledContentOffset();
</del><ins>+        LayoutSize hitTestOffset = portionLocation - (fragment.layerBounds.location() + regionContentBox.location()) + toLayoutSize(region.fragmentContainer().scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">         // Always ignore clipping, since the RenderFlowThread has nothing to do with the bounds of the FrameView.
</span><span class="cx">         HitTestRequest newRequest(request.type() | HitTestRequest::IgnoreClipping | HitTestRequest::DisallowUserAgentShadowContent);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayer.h (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayer.h        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderLayer.h        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -758,10 +758,6 @@
</span><span class="cx">     typedef unsigned UpdateLayerPositionsAfterScrollFlags;
</span><span class="cx">     void updateLayerPositionsAfterScroll(RenderGeometryMap*, UpdateLayerPositionsAfterScrollFlags = NoFlag);
</span><span class="cx"> 
</span><del>-    friend IntSize RenderBox::scrolledContentOffset() const;
-    // FIXME: rename this toscrolledContentPosition(), or remove it.
-    IntSize scrolledContentOffset() const { return toIntSize(m_scrollPosition); }
-
</del><span class="cx">     ScrollOffset clampScrollOffset(const ScrollOffset&amp;) const;
</span><span class="cx"> 
</span><span class="cx">     RenderLayer* enclosingPaginationLayerInSubtree(const RenderLayer* rootLayer, PaginationInclusionMode) const;
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -822,9 +822,8 @@
</span><span class="cx"> #else
</span><span class="cx">     if (compAncestor &amp;&amp; compAncestor-&gt;needsCompositedScrolling()) {
</span><span class="cx">         auto&amp; renderBox = downcast&lt;RenderBox&gt;(compAncestor-&gt;renderer());
</span><del>-        LayoutSize scrollOffset = compAncestor-&gt;scrolledContentOffset();
</del><span class="cx">         LayoutPoint scrollOrigin(renderBox.borderLeft(), renderBox.borderTop());
</span><del>-        graphicsLayerParentLocation = scrollOrigin - scrollOffset;
</del><ins>+        graphicsLayerParentLocation = scrollOrigin - toLayoutSize(compAncestor-&gt;scrollOffset());
</ins><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderMultiColumnFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -610,7 +610,7 @@
</span><span class="cx">     
</span><span class="cx">     LayoutSize offset(translatedPhysicalPoint.x(), translatedPhysicalPoint.y());
</span><span class="cx">     if (is&lt;RenderBox&gt;(enclosingContainer))
</span><del>-        offset -= downcast&lt;RenderBox&gt;(enclosingContainer).scrolledContentOffset();
</del><ins>+        offset -= toLayoutSize(downcast&lt;RenderBox&gt;(enclosingContainer).scrollPosition());
</ins><span class="cx">     return offset;
</span><span class="cx"> }
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderNamedFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderNamedFlowThread.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -296,26 +296,26 @@
</span><span class="cx">     flipForWritingModeLocalCoordinates(visualOverflowRect);
</span><span class="cx"> 
</span><span class="cx">     // Take the scrolled offset of this object's parents into consideration.
</span><del>-    IntSize scrolledContentOffset;
</del><ins>+    ScrollPosition scrollPosition;
</ins><span class="cx">     RenderBlock* containingBlock = box.containingBlock();
</span><span class="cx">     while (containingBlock &amp;&amp; !is&lt;RenderView&gt;(*containingBlock)) {
</span><span class="cx">         if (containingBlock-&gt;isRenderNamedFlowThread()) {
</span><span class="cx">             // We've reached the flow thread, take the scrolled offset of the region into consideration.
</span><span class="cx">             ASSERT(containingBlock == this);
</span><del>-            scrolledContentOffset += fragment.fragmentContainer().scrolledContentOffset();
</del><ins>+            scrollPosition += toIntSize(fragment.fragmentContainer().scrollPosition());
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         
</span><del>-        scrolledContentOffset += containingBlock-&gt;scrolledContentOffset();
</del><ins>+        scrollPosition += toIntSize(containingBlock-&gt;scrollPosition());
</ins><span class="cx">         containingBlock = containingBlock-&gt;containingBlock();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (!scrolledContentOffset.isZero()) {
</del><ins>+    if (!scrollPosition.isZero()) {
</ins><span class="cx">         if (style().isFlippedBlocksWritingMode())
</span><del>-            scrolledContentOffset = -scrolledContentOffset;
</del><ins>+            scrollPosition = -scrollPosition;
</ins><span class="cx">         
</span><del>-        visualOverflowRect.inflateX(scrolledContentOffset.width());
-        visualOverflowRect.inflateY(scrolledContentOffset.height());
</del><ins>+        visualOverflowRect.inflateX(scrollPosition.x());
+        visualOverflowRect.inflateY(scrollPosition.y());
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     // Layers are in physical coordinates so the origin must be moved to the physical top-left of the flowthread.
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderObject.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderObject.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderObject.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -1248,7 +1248,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (is&lt;RenderBox&gt;(*parent))
</span><del>-        transformState.move(-downcast&lt;RenderBox&gt;(*parent).scrolledContentOffset());
</del><ins>+        transformState.move(-toLayoutSize(downcast&lt;RenderBox&gt;(*parent).scrollPosition()));
</ins><span class="cx"> 
</span><span class="cx">     parent-&gt;mapLocalToContainer(repaintContainer, transformState, mode, wasFixed);
</span><span class="cx"> }
</span><span class="lines">@@ -1264,7 +1264,7 @@
</span><span class="cx">     // FIXME: this should call offsetFromContainer to share code, but I'm not sure it's ever called.
</span><span class="cx">     LayoutSize offset;
</span><span class="cx">     if (is&lt;RenderBox&gt;(*container))
</span><del>-        offset = -downcast&lt;RenderBox&gt;(*container).scrolledContentOffset();
</del><ins>+        offset = -toLayoutSize(downcast&lt;RenderBox&gt;(*container).scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">     geometryMap.push(this, offset, false);
</span><span class="cx">     
</span><span class="lines">@@ -1276,7 +1276,7 @@
</span><span class="cx">     if (auto* parent = this-&gt;parent()) {
</span><span class="cx">         parent-&gt;mapAbsoluteToLocalPoint(mode, transformState);
</span><span class="cx">         if (is&lt;RenderBox&gt;(*parent))
</span><del>-            transformState.move(downcast&lt;RenderBox&gt;(*parent).scrolledContentOffset());
</del><ins>+            transformState.move(toLayoutSize(downcast&lt;RenderBox&gt;(*parent).scrollPosition()));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1342,7 +1342,7 @@
</span><span class="cx"> 
</span><span class="cx">     LayoutSize offset;
</span><span class="cx">     if (is&lt;RenderBox&gt;(container))
</span><del>-        offset -= downcast&lt;RenderBox&gt;(container).scrolledContentOffset();
</del><ins>+        offset -= toLayoutSize(downcast&lt;RenderBox&gt;(container).scrollPosition());
</ins><span class="cx"> 
</span><span class="cx">     if (offsetDependsOnPoint)
</span><span class="cx">         *offsetDependsOnPoint = is&lt;RenderFlowThread&gt;(container);
</span></span></pre></div>
<a id="trunkSourceWebCorerenderingRenderTextControlcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/rendering/RenderTextControl.cpp (200670 => 200671)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/rendering/RenderTextControl.cpp        2016-05-11 04:26:04 UTC (rev 200670)
+++ trunk/Source/WebCore/rendering/RenderTextControl.cpp        2016-05-11 04:48:08 UTC (rev 200671)
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     LayoutPoint adjustedLocation = accumulatedOffset + location();
</span><del>-    LayoutPoint localPoint = pointInContainer - toLayoutSize(adjustedLocation + innerText-&gt;renderBox()-&gt;location()) + scrolledContentOffset();
</del><ins>+    LayoutPoint localPoint = pointInContainer - toLayoutSize(adjustedLocation + innerText-&gt;renderBox()-&gt;location()) + toLayoutSize(scrollPosition());
</ins><span class="cx">     result.setInnerNode(innerText);
</span><span class="cx">     result.setInnerNonSharedNode(innerText);
</span><span class="cx">     result.setLocalPoint(localPoint);
</span></span></pre>
</div>
</div>

</body>
</html>