<div id="container" style="overflow: hidden">
<div id="child"></div>
</div>
When mapping child's rect to container, we don't apply container's clip to the rect.
We do apply the clip in fast path of mapping using PaintInvalidationState.
Does it really? What about overflow:scroll? Paint invalidation would be wrong then if it clipped paint invalidation rects inside of a composited scroller, right?
Summary: LayoutObject::mapToVisibleRectInAncestorSpace() slow path misses clip of the non-composited-scrolling ancestor (was: LayoutObject::mapToVisibleRectInAncestorSpace() misses clip of the ancestor)
To clarify: the bug applies to the slow path only. This will apply to the whole LayoutObject::mapToVisibleRectInAncestorSpace() after my change which moves fast-path mapping out of the function.
This also applies to non-composited-scrolling ancestors only. We don't need to clip in a composited-scrolling ancestor.
Comment 1 by chrishtr@chromium.org
, Mar 25 2016