From 8e277fd24da3d635acd6707b50b0f4e48699ad99 Mon Sep 17 00:00:00 2001 From: "commit-queue@webkit.org" Date: Thu, 19 Jan 2012 18:05:33 +0000 Subject: [PATCH] Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing https://bugs.webkit.org/show_bug.cgi?id=75787 Patch by Ken Buchanan on 2012-01-19 Reviewed by Simon Fraser. This is a tweak to my patch in r104322. On some platforms RenderCombineText::combineText() can abort early during inline iteration, causing this loop in skipLeadingWhitespace to spin, hence the layout test timeouts. This patch accounts for that condition and makes the loop iteration more robust. No new test because this is fixing a failure on an existing test. * rendering/RenderBlockLineLayout.cpp: (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105423 268f45cc-cd09-0410-ab3c-d52691b4dbfc --- Source/WebCore/ChangeLog | 18 ++++++++++++++++++ Source/WebCore/rendering/RenderBlockLineLayout.cpp | 5 +++-- 2 files changed, 21 insertions(+), 2 deletions(-) mode change 100644 => 100755 Source/WebCore/ChangeLog diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog old mode 100644 new mode 100755 index 3b48399..e108694 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,21 @@ +2012-01-19 Ken Buchanan + + Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing + https://bugs.webkit.org/show_bug.cgi?id=75787 + + Reviewed by Simon Fraser. + + This is a tweak to my patch in r104322. On some platforms + RenderCombineText::combineText() can abort early during inline + iteration, causing this loop in skipLeadingWhitespace to spin, + hence the layout test timeouts. This patch accounts for that + condition and makes the loop iteration more robust. + + No new test because this is fixing a failure on an existing test. + + * rendering/RenderBlockLineLayout.cpp: + (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): + 2012-01-19 Jer Noble HRTFPanner not rendering correctly on mac port diff --git a/Source/WebCore/rendering/RenderBlockLineLayout.cpp b/Source/WebCore/rendering/RenderBlockLineLayout.cpp index 8aaa100..da74ea6 100755 --- a/Source/WebCore/rendering/RenderBlockLineLayout.cpp +++ b/Source/WebCore/rendering/RenderBlockLineLayout.cpp @@ -1894,9 +1894,10 @@ void RenderBlock::LineBreaker::skipLeadingWhitespace(InlineBidiResolver& resolve } } else if (object->isFloating()) m_block->positionNewFloatOnLine(m_block->insertFloatingObject(toRenderBox(object)), lastFloatFromPreviousLine, lineInfo, width); - else if (object->isText() && object->style()->hasTextCombine() && object->isCombineText()) { + else if (object->isText() && object->style()->hasTextCombine() && object->isCombineText() && !toRenderCombineText(object)->isCombined()) { toRenderCombineText(object)->combineText(); - continue; + if (toRenderCombineText(object)->isCombined()) + continue; } resolver.increment(); } -- 2.7.4