| Index: Source/WebCore/rendering/RenderBlock.cpp
|
| ===================================================================
|
| --- Source/WebCore/rendering/RenderBlock.cpp (revision 103959)
|
| +++ Source/WebCore/rendering/RenderBlock.cpp (working copy)
|
| @@ -5618,6 +5618,26 @@
|
| }
|
| next = next->nextSibling();
|
| }
|
| + if (!remainingText && firstLetterContainer->isAnonymousBlock()) {
|
| + // The remaining text fragment could have been wrapped in a different anonymous block since creation
|
| + RenderObject* nextChild;
|
| + next = firstLetterContainer->nextSibling();
|
| + while (next && !remainingText) {
|
| + if (next->isAnonymousBlock()) {
|
| + nextChild = next->firstChild();
|
| + while (nextChild) {
|
| + if (nextChild->isText() && toRenderText(nextChild)->isTextFragment()
|
| + && (toRenderTextFragment(nextChild)->firstLetter() == firstLetter)) {
|
| + remainingText = toRenderTextFragment(nextChild);
|
| + break;
|
| + }
|
| + nextChild = nextChild->nextSibling();
|
| + }
|
| + } else
|
| + break;
|
| + next = next->nextSibling();
|
| + }
|
| + }
|
| if (remainingText) {
|
| ASSERT(remainingText->isAnonymous() || remainingText->node()->renderer() == remainingText);
|
| // Replace the old renderer with the new one.
|
|
|