| Index: Source/core/rendering/RenderLayer.cpp
|
| diff --git a/Source/core/rendering/RenderLayer.cpp b/Source/core/rendering/RenderLayer.cpp
|
| index f458c9f1012d87accf86ba99bc0cb4f3f5391235..48f8b77dd9a92d186e64020ac27e6bfadc093182 100644
|
| --- a/Source/core/rendering/RenderLayer.cpp
|
| +++ b/Source/core/rendering/RenderLayer.cpp
|
| @@ -3146,9 +3146,16 @@ RenderLayer* RenderLayer::hitTestChildLayerColumns(RenderLayer* childLayer, Rend
|
| return 0;
|
| }
|
|
|
| +void RenderLayer::blockSelectionGapsBoundsChanged()
|
| +{
|
| + setNeedsCompositingInputsUpdate();
|
| + compositor()->setNeedsCompositingUpdate(CompositingUpdateOnCompositedScroll);
|
| +}
|
| +
|
| void RenderLayer::addBlockSelectionGapsBounds(const LayoutRect& bounds)
|
| {
|
| m_blockSelectionGapsBounds.unite(enclosingIntRect(bounds));
|
| + blockSelectionGapsBoundsChanged();
|
| }
|
|
|
| void RenderLayer::clearBlockSelectionGapsBounds()
|
| @@ -3156,6 +3163,7 @@ void RenderLayer::clearBlockSelectionGapsBounds()
|
| m_blockSelectionGapsBounds = IntRect();
|
| for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
|
| child->clearBlockSelectionGapsBounds();
|
| + blockSelectionGapsBoundsChanged();
|
| }
|
|
|
| void RenderLayer::repaintBlockSelectionGaps()
|
| @@ -3179,9 +3187,20 @@ void RenderLayer::repaintBlockSelectionGaps()
|
| renderer()->invalidatePaintRectangle(rect);
|
| }
|
|
|
| +IntRect RenderLayer::blockSelectionGapsBounds() const
|
| +{
|
| + if (!renderer()->isRenderBlock())
|
| + return IntRect();
|
| +
|
| + RenderBlock* renderBlock = toRenderBlock(renderer());
|
| + LayoutRect gapRects = renderBlock->selectionGapRectsForRepaint(renderBlock);
|
| +
|
| + return pixelSnappedIntRect(gapRects);
|
| +}
|
| +
|
| bool RenderLayer::hasBlockSelectionGapBounds() const
|
| {
|
| - return !m_blockSelectionGapsBounds.isEmpty();
|
| + return !blockSelectionGapsBounds().isEmpty();
|
| }
|
|
|
| bool RenderLayer::intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& damageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot) const
|
|
|