| Index: Source/core/rendering/shapes/PolygonShape.cpp
 | 
| diff --git a/Source/core/rendering/shapes/PolygonShape.cpp b/Source/core/rendering/shapes/PolygonShape.cpp
 | 
| index 512ae142cd5531051120b82cb4c3204d5396087a..2e69638aae57da2f1f77297ccdd23a3af8ef6264 100644
 | 
| --- a/Source/core/rendering/shapes/PolygonShape.cpp
 | 
| +++ b/Source/core/rendering/shapes/PolygonShape.cpp
 | 
| @@ -368,8 +368,8 @@ void PolygonShape::getExcludedIntervals(LayoutUnit logicalTop, LayoutUnit logica
 | 
|      if (polygon.isEmpty())
 | 
|          return;
 | 
|  
 | 
| -    float y1 = logicalTop;
 | 
| -    float y2 = logicalTop + logicalHeight;
 | 
| +    float y1 = logicalTop.toFloat();
 | 
| +    float y2 = (logicalTop + logicalHeight).toFloat();
 | 
|  
 | 
|      FloatShapeIntervals y1XIntervals, y2XIntervals;
 | 
|      computeXIntersections(polygon, y1, true, y1XIntervals);
 | 
| @@ -396,8 +396,8 @@ void PolygonShape::getIncludedIntervals(LayoutUnit logicalTop, LayoutUnit logica
 | 
|      if (polygon.isEmpty())
 | 
|          return;
 | 
|  
 | 
| -    float y1 = logicalTop;
 | 
| -    float y2 = logicalTop + logicalHeight;
 | 
| +    float y1 = logicalTop.toFloat();
 | 
| +    float y2 = (logicalTop + logicalHeight).toFloat();
 | 
|  
 | 
|      FloatShapeIntervals y1XIntervals, y2XIntervals;
 | 
|      computeXIntersections(polygon, y1, true, y1XIntervals);
 | 
| @@ -444,7 +444,7 @@ static inline bool aboveOrToTheLeft(const FloatRect& r1, const FloatRect& r2)
 | 
|  
 | 
|  bool PolygonShape::firstIncludedIntervalLogicalTop(LayoutUnit minLogicalIntervalTop, const FloatSize& minLogicalIntervalSize, LayoutUnit& result) const
 | 
|  {
 | 
| -    float minIntervalTop = minLogicalIntervalTop;
 | 
| +    float minIntervalTop = minLogicalIntervalTop.toFloat();
 | 
|      float minIntervalHeight = minLogicalIntervalSize.height();
 | 
|      float minIntervalWidth = minLogicalIntervalSize.width();
 | 
|  
 | 
| 
 |