Index: third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp b/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
index 75febdd86ee849471d1e547dbc582d2d28030457..cc5c551ef9dc8ba924630365ea05fb83580e61a4 100644 |
--- a/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
+++ b/third_party/WebKit/Source/core/paint/PrePaintTreeWalk.cpp |
@@ -105,7 +105,7 @@ static bool isAncestorOfOrEqualTo(const ClipPaintPropertyNode* a, |
return b == a; |
} |
-ClipRect PrePaintTreeWalk::clipRectForContext( |
+FloatClipRect PrePaintTreeWalk::clipRectForContext( |
const PaintPropertyTreeBuilderContext::ContainingBlockContext& context, |
const EffectPaintPropertyNode* effect, |
const PropertyTreeState& ancestorState, |
@@ -115,20 +115,16 @@ ClipRect PrePaintTreeWalk::clipRectForContext( |
// actually an ancestor clip. This ensures no accuracy issues due to |
// transforms applied to infinite rects. |
if (isAncestorOfOrEqualTo(context.clip, ancestorState.clip())) |
- return ClipRect(LayoutRect(LayoutRect::infiniteIntRect())); |
+ return FloatClipRect(); |
hasClip = true; |
PropertyTreeState localState(context.transform, context.clip, effect); |
- // TODO(chrishtr): remove need for this. |
- LayoutRect localRect(LayoutRect::infiniteIntRect()); |
+ FloatClipRect rect( |
+ m_geometryMapper.sourceToDestinationClipRect(localState, ancestorState)); |
- LayoutRect rect(m_geometryMapper |
- .sourceToDestinationVisualRect(FloatRect(localRect), |
- localState, ancestorState) |
- .rect()); |
- rect.moveBy(-ancestorPaintOffset); |
+ rect.moveBy(-FloatPoint(ancestorPaintOffset)); |
return rect; |
} |