| Index: Source/core/editing/markup.cpp
|
| diff --git a/Source/core/editing/markup.cpp b/Source/core/editing/markup.cpp
|
| index 7259f474a27ea20a1308d1c8ea6b98530f5ead31..73d574c047292a561b30b6c7ed17f4ed1ef3d908 100644
|
| --- a/Source/core/editing/markup.cpp
|
| +++ b/Source/core/editing/markup.cpp
|
| @@ -263,14 +263,20 @@ String StyledMarkupAccumulator::renderedText(Node& node, const Range* range)
|
| unsigned startOffset = 0;
|
| unsigned endOffset = textNode.length();
|
|
|
| - if (range && textNode == range->startContainer())
|
| - startOffset = range->startOffset();
|
| - if (range && textNode == range->endContainer())
|
| - endOffset = range->endOffset();
|
| + TextIteratorBehavior behavior = TextIteratorDefaultBehavior;
|
| + if (range) {
|
| + if (textNode == range->startContainer())
|
| + startOffset = range->startOffset();
|
| +
|
| + if (textNode == range->endContainer())
|
| + endOffset = range->endOffset();
|
| + else
|
| + behavior = TextIteratorBehavesAsIfNodesFollowing;
|
| + }
|
|
|
| Position start = createLegacyEditingPosition(&textNode, startOffset);
|
| Position end = createLegacyEditingPosition(&textNode, endOffset);
|
| - return plainText(Range::create(textNode.document(), start, end).get());
|
| + return plainText(Range::create(textNode.document(), start, end).get(), behavior);
|
| }
|
|
|
| String StyledMarkupAccumulator::stringValueForRange(const Node& node, const Range* range)
|
|
|