From 861433c933e8af5fa97db1174266f81f605c721c Mon Sep 17 00:00:00 2001 From: Sourav Kundu Date: Tue, 2 Oct 2012 11:49:08 -0700 Subject: Performance enhancement. Don't process non-visible lines for layout. Change-Id: Ie2b594afb4f5244e18719e4feea51966ad4745cd --- Source/WebCore/rendering/RenderBlockLineLayout.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Source/WebCore/rendering/RenderBlockLineLayout.cpp b/Source/WebCore/rendering/RenderBlockLineLayout.cpp index a2469a0..3189ad0 100644 --- a/Source/WebCore/rendering/RenderBlockLineLayout.cpp +++ b/Source/WebCore/rendering/RenderBlockLineLayout.cpp @@ -1141,6 +1141,13 @@ void RenderBlock::layoutInlineChildren(bool relayoutChildren, int& repaintLogica lineMidpointState.reset(); resolver.setPosition(end); + // Exit loop if we have already filled the container + // when overflow mode is 'hidden' + if (style()->height().value()) { + EOverflow ov = style()->overflowY(); + if (ov == OHIDDEN && logicalHeight() > style()->height().value()) + break; + } } if (endLine) { -- cgit v1.1