Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1384)

Unified Diff: Source/core/rendering/RenderBox.cpp

Issue 669803002: Optimize for horizontal writing mode (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/rendering/RenderBox.cpp
diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp
index 356f8d868f1f483623db8d66f6b639b43fb3d2ac..1a192ba6dcb31c3b79d3fff7209939c349f012b4 100644
--- a/Source/core/rendering/RenderBox.cpp
+++ b/Source/core/rendering/RenderBox.cpp
@@ -4339,6 +4339,8 @@ LayoutUnit RenderBox::offsetTop() const
LayoutPoint RenderBox::flipForWritingModeForChild(const RenderBox* child, const LayoutPoint& point) const
{
+ if (!UNLIKELY(document().hasVerticalWritingMode()))
+ return point;
if (!style()->isFlippedBlocksWritingMode())
return point;
@@ -4349,63 +4351,15 @@ LayoutPoint RenderBox::flipForWritingModeForChild(const RenderBox* child, const
return LayoutPoint(point.x() + width() - child->width() - (2 * child->x()), point.y());
}
-void RenderBox::flipForWritingMode(LayoutRect& rect) const
-{
- if (!style()->isFlippedBlocksWritingMode())
- return;
-
- if (isHorizontalWritingMode())
- rect.setY(height() - rect.maxY());
- else
- rect.setX(width() - rect.maxX());
-}
-
-LayoutUnit RenderBox::flipForWritingMode(LayoutUnit position) const
-{
- if (!style()->isFlippedBlocksWritingMode())
- return position;
- return logicalHeight() - position;
-}
-
-LayoutPoint RenderBox::flipForWritingMode(const LayoutPoint& position) const
-{
- if (!style()->isFlippedBlocksWritingMode())
- return position;
- return isHorizontalWritingMode() ? LayoutPoint(position.x(), height() - position.y()) : LayoutPoint(width() - position.x(), position.y());
-}
-
LayoutPoint RenderBox::flipForWritingModeIncludingColumns(const LayoutPoint& point) const
{
+ if (!UNLIKELY(document().hasVerticalWritingMode()))
+ return point;
if (!hasColumns() || !style()->isFlippedBlocksWritingMode())
return flipForWritingMode(point);
return toRenderBlock(this)->flipForWritingModeIncludingColumns(point);
}
-LayoutSize RenderBox::flipForWritingMode(const LayoutSize& offset) const
-{
- if (!style()->isFlippedBlocksWritingMode())
- return offset;
- return isHorizontalWritingMode() ? LayoutSize(offset.width(), height() - offset.height()) : LayoutSize(width() - offset.width(), offset.height());
-}
-
-FloatPoint RenderBox::flipForWritingMode(const FloatPoint& position) const
-{
- if (!style()->isFlippedBlocksWritingMode())
- return position;
- return isHorizontalWritingMode() ? FloatPoint(position.x(), height() - position.y()) : FloatPoint(width() - position.x(), position.y());
-}
-
-void RenderBox::flipForWritingMode(FloatRect& rect) const
-{
- if (!style()->isFlippedBlocksWritingMode())
- return;
-
- if (isHorizontalWritingMode())
- rect.setY(height() - rect.maxY());
- else
- rect.setX(width() - rect.maxX());
-}
-
LayoutPoint RenderBox::topLeftLocation() const
{
RenderBlock* containerBlock = containingBlock();

Powered by Google App Engine
This is Rietveld 408576698