Chromium Code Reviews| Index: Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
| diff --git a/Source/core/rendering/shapes/ShapeOutsideInfo.cpp b/Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
| index 6b4138b66064792b7e32429ee8adf85d9171312b..0a3e01a49fa1c4e614e92f915dcf94ee9efe627f 100644 |
| --- a/Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
| +++ b/Source/core/rendering/shapes/ShapeOutsideInfo.cpp |
| @@ -307,4 +307,40 @@ void ShapeOutsideInfo::updateDeltasForContainingBlockLine(const RenderBlockFlow& |
| } |
| } |
| +LayoutRect ShapeOutsideInfo::computedShapePhysicalBoundingBox() const |
| +{ |
| + LayoutRect physicalBoundingBox = computedShape().shapeMarginLogicalBoundingBox(); |
| + if (m_renderer.style()->isFlippedBlocksWritingMode()) { |
| + physicalBoundingBox.setX(physicalBoundingBox.x() + logicalLeftOffset()); |
|
apavlov
2014/05/06 09:12:10
Looks like leviw@ meant that only setY() should go
|
| + physicalBoundingBox.setY(m_renderer.logicalHeight() - physicalBoundingBox.maxY()); |
| + } else { |
| + physicalBoundingBox.setX(physicalBoundingBox.x() + logicalLeftOffset()); |
|
apavlov
2014/05/06 09:12:10
This one will go away then...
|
| + physicalBoundingBox.setY(physicalBoundingBox.y() + logicalTopOffset()); |
| + } |
| + if (!m_renderer.style()->isHorizontalWritingMode()) { |
| + physicalBoundingBox = physicalBoundingBox.transposedRect(); |
| + } else { |
| + physicalBoundingBox.setX(physicalBoundingBox.x() + logicalLeftOffset()); |
|
apavlov
2014/05/06 09:12:10
...as well as this one.
|
| + physicalBoundingBox.setY(physicalBoundingBox.y() + logicalTopOffset()); |
| + } |
| + return physicalBoundingBox; |
| +} |
| + |
| +FloatPoint ShapeOutsideInfo::shapeToRendererPoint(FloatPoint point) const |
| +{ |
| + FloatPoint result = FloatPoint(point.x() + logicalLeftOffset(), point.y() + logicalTopOffset()); |
| + if (m_renderer.style()->isFlippedBlocksWritingMode()) |
| + result.setY(m_renderer.logicalHeight() - result.y()); |
| + if (!m_renderer.style()->isHorizontalWritingMode()) |
| + result = result.transposedPoint(); |
| + return result; |
| +} |
| + |
| +FloatSize ShapeOutsideInfo::shapeToRendererSize(FloatSize size) const |
| +{ |
| + if (!m_renderer.style()->isHorizontalWritingMode()) |
| + return size.transposedSize(); |
| + return size; |
| +} |
| + |
| } |