| Index: WebCore/editing/InsertParagraphSeparatorCommand.cpp
|
| ===================================================================
|
| --- WebCore/editing/InsertParagraphSeparatorCommand.cpp (revision 55442)
|
| +++ WebCore/editing/InsertParagraphSeparatorCommand.cpp (working copy)
|
| @@ -315,7 +315,7 @@
|
| Position leadingWhitespace = insertionPosition.leadingWhitespacePosition(VP_DEFAULT_AFFINITY);
|
| // FIXME: leadingWhitespacePosition is returning the position before preserved newlines for positions
|
| // after the preserved newline, causing the newline to be turned into a nbsp.
|
| - if (leadingWhitespace.isNotNull()) {
|
| + if (leadingWhitespace.isNotNull() && leadingWhitespace.node()->isTextNode()) {
|
| Text* textNode = static_cast<Text*>(leadingWhitespace.node());
|
| ASSERT(!textNode->renderer() || textNode->renderer()->style()->collapseWhiteSpace());
|
| replaceTextInNode(textNode, leadingWhitespace.deprecatedEditingOffset(), 1, nonBreakingSpaceString());
|
| @@ -388,10 +388,10 @@
|
| insertionPosition = Position(insertionPosition.node(), 0);
|
| if (!insertionPosition.isRenderedCharacter()) {
|
| // Clear out all whitespace and insert one non-breaking space
|
| - ASSERT(insertionPosition.node()->isTextNode());
|
| ASSERT(!insertionPosition.node()->renderer() || insertionPosition.node()->renderer()->style()->collapseWhiteSpace());
|
| deleteInsignificantTextDownstream(insertionPosition);
|
| - insertTextIntoNode(static_cast<Text*>(insertionPosition.node()), 0, nonBreakingSpaceString());
|
| + if (insertionPosition.node()->isTextNode())
|
| + insertTextIntoNode(static_cast<Text*>(insertionPosition.node()), 0, nonBreakingSpaceString());
|
| }
|
| }
|
|
|
|
|