| Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| index 37f7d4a580967fc64ff1f5eee3e033bbee52aad5..c001d1c055d3172fd41b649ec6e717bd49b82f3d 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp
|
| @@ -1133,7 +1133,7 @@ LayoutRect PaintLayer::transparencyClipBox(const PaintLayer* layer, const PaintL
|
| return result;
|
| }
|
|
|
| - LayoutRect clipRect = layer->fragmentsBoundingBox(rootLayer);
|
| + LayoutRect clipRect = layer->shouldFragmentCompositedBounds(rootLayer) ? layer->fragmentsBoundingBox(rootLayer) : layer->physicalBoundingBox(rootLayer);
|
| expandClipRectForDescendantsAndReflection(clipRect, layer, rootLayer, transparencyBehavior, subPixelAccumulation, globalPaintFlags);
|
| clipRect = layer->mapLayoutRectForFilter(clipRect);
|
| clipRect.move(subPixelAccumulation);
|
| @@ -2164,6 +2164,9 @@ LayoutRect PaintLayer::boundingBoxForCompositingOverlapTest() const
|
| {
|
| // Apply NeverIncludeTransformForAncestorLayer, because the geometry map in CompositingInputsUpdater will take care of applying the
|
| // transform of |this| (== the ancestorLayer argument to boundingBoxForCompositing).
|
| + // TODO(trchen): Layer fragmentation is inhibited across compositing boundary. Should we
|
| + // return the unfragmented bounds for overlap testing? Or perhaps assume fragmented layers
|
| + // always overlap?
|
| return overlapBoundsIncludeChildren() ? boundingBoxForCompositing(this, NeverIncludeTransformForAncestorLayer) : fragmentsBoundingBox(this);
|
| }
|
|
|
|
|