Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2012 18:05:33 +0000 (18:05 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2012 18:05:33 +0000 (18:05 +0000)
https://bugs.webkit.org/show_bug.cgi?id=75787

Patch by Ken Buchanan <kenrb@chromium.org> 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 [changed mode: 0644->0755]
Source/WebCore/rendering/RenderBlockLineLayout.cpp

old mode 100644 (file)
new mode 100755 (executable)
index 3b48399..e108694
@@ -1,3 +1,21 @@
+2012-01-19  Ken Buchanan <kenrb@chromium.org>
+
+        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  <jer.noble@apple.com>
 
         HRTFPanner not rendering correctly on mac port
index 8aaa100..da74ea6 100755 (executable)
@@ -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();
     }