| Index: Source/core/rendering/exclusions/ExclusionShape.cpp
|
| diff --git a/Source/core/rendering/exclusions/ExclusionShape.cpp b/Source/core/rendering/exclusions/ExclusionShape.cpp
|
| index 271d3082472f53a5144ec3ca0078735cd547f007..53fc9c11100d207c963a7158ad667857909edede 100644
|
| --- a/Source/core/rendering/exclusions/ExclusionShape.cpp
|
| +++ b/Source/core/rendering/exclusions/ExclusionShape.cpp
|
| @@ -90,13 +90,13 @@ static inline FloatSize physicalSizeToLogical(const FloatSize& size, WritingMode
|
| return size.transposedSize();
|
| }
|
|
|
| -PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape* basicShape, float logicalBoxWidth, float logicalBoxHeight, WritingMode writingMode, Length margin, Length padding)
|
| +PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape* basicShape, const LayoutSize& logicalBoxSize, WritingMode writingMode, Length margin, Length padding)
|
| {
|
| ASSERT(basicShape);
|
|
|
| bool horizontalWritingMode = isHorizontalWritingMode(writingMode);
|
| - float boxWidth = horizontalWritingMode ? logicalBoxWidth : logicalBoxHeight;
|
| - float boxHeight = horizontalWritingMode ? logicalBoxHeight : logicalBoxWidth;
|
| + float boxWidth = horizontalWritingMode ? logicalBoxSize.width() : logicalBoxSize.height();
|
| + float boxHeight = horizontalWritingMode ? logicalBoxSize.height() : logicalBoxSize.width();
|
| OwnPtr<ExclusionShape> exclusionShape;
|
|
|
| switch (basicShape->type()) {
|
| @@ -113,7 +113,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
|
| FloatSize cornerRadii(
|
| radiusXLength.isUndefined() ? 0 : floatValueForLength(radiusXLength, boxWidth),
|
| radiusYLength.isUndefined() ? 0 : floatValueForLength(radiusYLength, boxHeight));
|
| - FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxHeight, writingMode);
|
| + FloatRect logicalBounds = physicalRectToLogical(bounds, logicalBoxSize.height(), writingMode);
|
|
|
| exclusionShape = createExclusionRectangle(logicalBounds, physicalSizeToLogical(cornerRadii, writingMode));
|
| break;
|
| @@ -124,7 +124,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
|
| float centerX = floatValueForLength(circle->centerX(), boxWidth);
|
| float centerY = floatValueForLength(circle->centerY(), boxHeight);
|
| float radius = floatValueForLength(circle->radius(), std::min(boxHeight, boxWidth));
|
| - FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxHeight, writingMode);
|
| + FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode);
|
|
|
| exclusionShape = createExclusionCircle(logicalCenter, radius);
|
| break;
|
| @@ -136,7 +136,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
|
| float centerY = floatValueForLength(ellipse->centerY(), boxHeight);
|
| float radiusX = floatValueForLength(ellipse->radiusX(), boxWidth);
|
| float radiusY = floatValueForLength(ellipse->radiusY(), boxHeight);
|
| - FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxHeight, writingMode);
|
| + FloatPoint logicalCenter = physicalPointToLogical(FloatPoint(centerX, centerY), logicalBoxSize.height(), writingMode);
|
| FloatSize logicalRadii = physicalSizeToLogical(FloatSize(radiusX, radiusY), writingMode);
|
|
|
| exclusionShape = createExclusionEllipse(logicalCenter, logicalRadii);
|
| @@ -153,7 +153,7 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
|
| FloatPoint vertex(
|
| floatValueForLength(values.at(i), boxWidth),
|
| floatValueForLength(values.at(i + 1), boxHeight));
|
| - (*vertices)[i / 2] = physicalPointToLogical(vertex, logicalBoxHeight, writingMode);
|
| + (*vertices)[i / 2] = physicalPointToLogical(vertex, logicalBoxSize.height(), writingMode);
|
| }
|
| exclusionShape = createExclusionPolygon(vertices.release(), polygon->windRule());
|
| break;
|
| @@ -163,8 +163,6 @@ PassOwnPtr<ExclusionShape> ExclusionShape::createExclusionShape(const BasicShape
|
| ASSERT_NOT_REACHED();
|
| }
|
|
|
| - exclusionShape->m_logicalBoxWidth = logicalBoxWidth;
|
| - exclusionShape->m_logicalBoxHeight = logicalBoxHeight;
|
| exclusionShape->m_writingMode = writingMode;
|
| exclusionShape->m_margin = floatValueForLength(margin, 0);
|
| exclusionShape->m_padding = floatValueForLength(padding, 0);
|
|
|