Index: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
index d36b46bdf321ddeb49160399dbc4ad3b18f0d130..94dc9dc1c90eecfb94fc31f9a0c1559b5b33f8b1 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp |
@@ -1007,14 +1007,14 @@ |
DoubleSize scrollingContentsOffset(overflowClipRect.location().x() - adjustedScrollOffset.width(), overflowClipRect.location().y() - adjustedScrollOffset.height()); |
// The scroll offset change is compared using floating point so that fractional scroll offset |
// change can be propagated to compositor. |
- if (scrollingContentsOffset != m_scrollingContentsOffset || scrollSize != m_scrollingContentsLayer->size()) { |
+ if (scrollingContentsOffset != m_scrollingContentsLayer->offsetDoubleFromLayoutObject() || scrollSize != m_scrollingContentsLayer->size()) { |
bool coordinatorHandlesOffset = compositor()->scrollingLayerDidChange(&m_owningLayer); |
m_scrollingContentsLayer->setPosition(coordinatorHandlesOffset ? FloatPoint() : FloatPoint(-toFloatSize(adjustedScrollOffset))); |
} |
- m_scrollingContentsOffset = scrollingContentsOffset; |
m_scrollingContentsLayer->setSize(FloatSize(scrollSize)); |
- m_scrollingContentsLayer->setOffsetDoubleFromLayoutObject(toIntSize(overflowClipRect.location()), GraphicsLayer::DontSetNeedsDisplay); |
+ // FIXME: The paint offset and the scroll offset should really be separate concepts. |
+ m_scrollingContentsLayer->setOffsetDoubleFromLayoutObject(scrollingContentsOffset, GraphicsLayer::DontSetNeedsDisplay); |
if (m_foregroundLayer) { |
if (m_foregroundLayer->size() != m_scrollingContentsLayer->size()) |
@@ -1416,8 +1416,7 @@ |
ApplyToMaskLayers = (1 << 4), |
ApplyToContentLayers = (1 << 5), |
ApplyToChildContainingLayers = (1 << 6), // layers between m_graphicsLayer and children |
- ApplyToScrollingContentLayers = (1 << 7), |
- ApplyToAllGraphicsLayers = (ApplyToSquashingLayer | ApplyToScrollbarLayers | ApplyToBackgroundLayer | ApplyToMaskLayers | ApplyToLayersAffectedByPreserve3D | ApplyToContentLayers | ApplyToScrollingContentLayers) |
+ ApplyToAllGraphicsLayers = (ApplyToSquashingLayer | ApplyToScrollbarLayers | ApplyToBackgroundLayer | ApplyToMaskLayers | ApplyToLayersAffectedByPreserve3D | ApplyToContentLayers) |
}; |
typedef unsigned ApplyToGraphicsLayersMode; |
@@ -1434,9 +1433,9 @@ |
f(mapping->clippingLayer()); |
if (((mode & ApplyToLayersAffectedByPreserve3D) || (mode & ApplyToChildContainingLayers)) && mapping->scrollingLayer()) |
f(mapping->scrollingLayer()); |
- if (((mode & ApplyToLayersAffectedByPreserve3D) || (mode & ApplyToContentLayers) || (mode & ApplyToChildContainingLayers) || (mode & ApplyToScrollingContentLayers)) && mapping->scrollingContentsLayer()) |
+ if (((mode & ApplyToLayersAffectedByPreserve3D) || (mode & ApplyToContentLayers) || (mode & ApplyToChildContainingLayers)) && mapping->scrollingContentsLayer()) |
f(mapping->scrollingContentsLayer()); |
- if (((mode & ApplyToLayersAffectedByPreserve3D) || (mode & ApplyToContentLayers) || (mode & ApplyToScrollingContentLayers)) && mapping->foregroundLayer()) |
+ if (((mode & ApplyToLayersAffectedByPreserve3D) || (mode & ApplyToContentLayers)) && mapping->foregroundLayer()) |
f(mapping->foregroundLayer()); |
if ((mode & ApplyToChildContainingLayers) && mapping->childTransformLayer()) |
@@ -2108,26 +2107,6 @@ |
client |
}; |
ApplyToGraphicsLayers(this, functor, ApplyToContentLayers); |
-} |
- |
-void CompositedLayerMapping::setScrollingContentsNeedDisplayInRect(const LayoutRect& r, PaintInvalidationReason invalidationReason, const DisplayItemClient& client) |
-{ |
- // TODO(wangxianzhu): Enable the following assert after paint invalidation for spv2 is ready. |
- // ASSERT(!RuntimeEnabledFeatures::slimmingPaintV2Enabled()); |
- |
- SetContentsNeedsDisplayInRectFunctor functor = { |
- enclosingIntRect(LayoutRect(r.location() + m_owningLayer.subpixelAccumulation(), r.size())), |
- invalidationReason, |
- client |
- }; |
- ApplyToGraphicsLayers(this, functor, ApplyToScrollingContentLayers); |
-} |
- |
-void CompositedLayerMapping::scrollingDisplayItemClientWasInvalidated(const DisplayItemClient& displayItemClient, PaintInvalidationReason paintInvalidationReason) |
-{ |
- ApplyToGraphicsLayers(this, [&displayItemClient, paintInvalidationReason](GraphicsLayer* layer) { |
- layer->displayItemClientWasInvalidated(displayItemClient, paintInvalidationReason); |
- }, ApplyToScrollingContentLayers); |
} |
void CompositedLayerMapping::displayItemClientWasInvalidated(const DisplayItemClient& displayItemClient, PaintInvalidationReason paintInvalidationReason) |
@@ -2261,7 +2240,6 @@ |
ASSERT(graphicsLayer == m_graphicsLayer || graphicsLayer == m_scrollingContentsLayer); |
anchorLayoutObject = m_owningLayer.layoutObject(); |
offsetFromAnchorLayoutObject = graphicsLayer->offsetFromLayoutObject(); |
- adjustForCompositedScrolling(graphicsLayer, offsetFromAnchorLayoutObject); |
} |
// Start with the bounds of the graphics layer in the space of the anchor LayoutObject. |
@@ -2360,14 +2338,6 @@ |
bool CompositedLayerMapping::needsRepaint(const GraphicsLayer& graphicsLayer) const |
{ |
return isScrollableAreaLayer(&graphicsLayer) ? true : m_owningLayer.needsRepaint(); |
-} |
- |
-void CompositedLayerMapping::adjustForCompositedScrolling(const GraphicsLayer* graphicsLayer, IntSize& offset) const |
-{ |
- if (graphicsLayer == m_scrollingContentsLayer.get() || graphicsLayer == m_foregroundLayer.get()) { |
- DoubleSize adjustedScrollOffset = m_owningLayer.getScrollableArea()->adjustedScrollOffset(); |
- offset.expand(-adjustedScrollOffset.width(), -adjustedScrollOffset.height()); |
- } |
} |
void CompositedLayerMapping::paintContents(const GraphicsLayer* graphicsLayer, GraphicsContext& context, |
@@ -2416,7 +2386,6 @@ |
paintInfo.paintLayer = &m_owningLayer; |
paintInfo.compositedBounds = compositedBounds(); |
paintInfo.offsetFromLayoutObject = graphicsLayer->offsetFromLayoutObject(); |
- adjustForCompositedScrolling(graphicsLayer, paintInfo.offsetFromLayoutObject); |
// We have to use the same root as for hit testing, because both methods can compute and cache clipRects. |
doPaintTask(paintInfo, *graphicsLayer, paintLayerFlags, context, interestRect); |