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

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

Issue 669803002: Optimize for horizontal writing mode (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: w compile fix 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/InlineBox.cpp
diff --git a/Source/core/rendering/InlineBox.cpp b/Source/core/rendering/InlineBox.cpp
index 05ef4904bbff1806637c720f74cfa6d33f557b18..b69e517f1a0c82737f8fe7f0e5cb87b2ba4b1fc2 100644
--- a/Source/core/rendering/InlineBox.cpp
+++ b/Source/core/rendering/InlineBox.cpp
@@ -203,7 +203,7 @@ bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result
// own stacking context. (See Appendix E.2, section 6.4 on inline block/table elements in the CSS2.1
// specification.)
LayoutPoint childPoint = accumulatedOffset;
- if (parent()->renderer().style()->isFlippedBlocksWritingMode()) // Faster than calling containingBlock().
+ if (parent()->renderer().hasFlippedBlocksWritingMode()) // Faster than calling containingBlock().
childPoint = renderer().containingBlock()->flipForWritingModeForChild(&toRenderBox(renderer()), childPoint);
return renderer().hitTest(request, result, locationInContainer, childPoint);
@@ -308,8 +308,9 @@ void InlineBox::clearKnownToHaveNoOverflow()
FloatPoint InlineBox::locationIncludingFlipping()
{
- if (!renderer().style()->isFlippedBlocksWritingMode())
+ if (!UNLIKELY(renderer().hasFlippedBlocksWritingMode()))
return FloatPoint(x(), y());
+
RenderBlockFlow& block = root().block();
if (block.style()->isHorizontalWritingMode())
return FloatPoint(x(), block.height() - height() - y());
@@ -319,28 +320,28 @@ FloatPoint InlineBox::locationIncludingFlipping()
void InlineBox::flipForWritingMode(FloatRect& rect)
{
- if (!renderer().style()->isFlippedBlocksWritingMode())
+ if (!UNLIKELY(renderer().hasFlippedBlocksWritingMode()))
return;
root().block().flipForWritingMode(rect);
}
FloatPoint InlineBox::flipForWritingMode(const FloatPoint& point)
{
- if (!renderer().style()->isFlippedBlocksWritingMode())
+ if (!UNLIKELY(renderer().hasFlippedBlocksWritingMode()))
return point;
return root().block().flipForWritingMode(point);
}
void InlineBox::flipForWritingMode(LayoutRect& rect)
{
- if (!renderer().style()->isFlippedBlocksWritingMode())
+ if (!UNLIKELY(renderer().hasFlippedBlocksWritingMode()))
return;
root().block().flipForWritingMode(rect);
}
LayoutPoint InlineBox::flipForWritingMode(const LayoutPoint& point)
{
- if (!renderer().style()->isFlippedBlocksWritingMode())
+ if (!UNLIKELY(renderer().hasFlippedBlocksWritingMode()))
return point;
return root().block().flipForWritingMode(point);
}

Powered by Google App Engine
This is Rietveld 408576698