Index: third_party/WebKit/Source/core/paint/LayerClipRecorder.cpp |
diff --git a/third_party/WebKit/Source/core/paint/LayerClipRecorder.cpp b/third_party/WebKit/Source/core/paint/LayerClipRecorder.cpp |
index 44470cca68a5ce631f99b1453e85e930080470b5..9e33e9b87324b19f0a11540024748c4bb3613513 100644 |
--- a/third_party/WebKit/Source/core/paint/LayerClipRecorder.cpp |
+++ b/third_party/WebKit/Source/core/paint/LayerClipRecorder.cpp |
@@ -71,6 +71,18 @@ void LayerClipRecorder::collectRoundedRectClips(PaintLayer& paintLayer, const Pa |
if (layer == localPaintingInfo.rootLayer) |
break; |
} |
+ |
+ // TODO(schenney): Not right, but hack to get something that applies a radius then figure out the correct way to do it. |
chrishtr
2016/10/21 23:15:08
This is to get the right positioning relative to t
Stephen Chennney
2016/10/24 20:15:27
Yes, the clipping container is in one layer (the p
|
+ if (paintFlags & PaintLayerPaintingAncestorClippingMaskPhase) { |
+ const LayoutObject* clippingContainer = paintLayer.clippingContainer(); |
+ LayoutPoint fragmentDelta(fragmentOffset); |
+ paintLayer.convertToLayerCoords(paintLayer.root(), fragmentDelta); |
+ LayoutPoint containerDelta; |
+ clippingContainer->enclosingLayer()->convertToLayerCoords(clippingContainer->enclosingLayer()->root(), containerDelta); |
+ LayoutPoint offset(containerDelta.x() - fragmentDelta.x(), containerDelta.y() - fragmentDelta.y()); |
+ LayoutSize size(toLayoutBox(clippingContainer) ? toLayoutBox(clippingContainer)->size() : LayoutSize(clippingContainer->enclosingLayer()->size())); |
+ roundedRectClips.append(clippingContainer->style()->getRoundedInnerBorderFor(LayoutRect(offset, size))); |
+ } |
} |
LayerClipRecorder::~LayerClipRecorder() |