| Index: Source/core/editing/DeleteSelectionCommand.cpp
|
| diff --git a/Source/core/editing/DeleteSelectionCommand.cpp b/Source/core/editing/DeleteSelectionCommand.cpp
|
| index cf7b3be70ed4e148722ad027425de707d9f3dd0d..7a1ae301096cdf14318125d4d4ae1c4b3a48d651 100644
|
| --- a/Source/core/editing/DeleteSelectionCommand.cpp
|
| +++ b/Source/core/editing/DeleteSelectionCommand.cpp
|
| @@ -324,7 +324,9 @@ bool DeleteSelectionCommand::handleSpecialCaseBRDelete()
|
|
|
| // FIXME: This code doesn't belong in here.
|
| // We detect the case where the start is an empty line consisting of BR not wrapped in a block element.
|
| - if (upstreamStartIsBR && downstreamStartIsBR && !(isStartOfBlock(positionBeforeNode(nodeAfterUpstreamStart)) && isEndOfBlock(positionAfterNode(nodeAfterUpstreamStart)))) {
|
| + if (upstreamStartIsBR && downstreamStartIsBR
|
| + && !(isStartOfBlock(positionBeforeNode(nodeAfterUpstreamStart)) && isEndOfBlock(positionAfterNode(nodeAfterDownstreamStart)))
|
| + && (!nodeAfterUpstreamEnd || nodeAfterUpstreamEnd->hasTagName(brTag) || nodeAfterUpstreamEnd->previousSibling() != nodeAfterUpstreamStart)) {
|
| m_startsAtEmptyLine = true;
|
| m_endingPosition = m_downstreamEnd;
|
| }
|
|
|