Index: third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp |
diff --git a/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp b/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp |
index 35896331fcbb1286c3761f16dcdd8b571467f10e..bf5bf306a9fe6bba874b49b62263a9b53d834a69 100644 |
--- a/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp |
+++ b/third_party/WebKit/Source/core/editing/commands/DeleteSelectionCommand.cpp |
@@ -1093,8 +1093,12 @@ void DeleteSelectionCommand::doApply(EditingState* editingState) { |
if (brResult) { |
calculateTypingStyleAfterDelete(); |
document().updateStyleAndLayoutIgnorePendingStylesheets(); |
- setEndingSelection(createVisibleSelection( |
- m_endingPosition, affinity, endingSelection().isDirectional())); |
+ SelectionInDOMTree::Builder builder; |
+ builder.setAffinity(affinity); |
+ builder.setIsDirectional(endingSelection().isDirectional()); |
+ if (m_endingPosition.isNotNull()) |
+ builder.collapse(m_endingPosition); |
+ setEndingSelection(createVisibleSelection(builder.build())); |
clearTransientState(); |
rebalanceWhitespace(); |
return; |
@@ -1150,8 +1154,12 @@ void DeleteSelectionCommand::doApply(EditingState* editingState) { |
document().updateStyleAndLayoutIgnorePendingStylesheets(); |
- setEndingSelection(createVisibleSelection(m_endingPosition, affinity, |
- endingSelection().isDirectional())); |
+ SelectionInDOMTree::Builder builder; |
+ builder.setAffinity(affinity); |
+ builder.setIsDirectional(endingSelection().isDirectional()); |
+ if (m_endingPosition.isNotNull()) |
+ builder.collapse(m_endingPosition); |
+ setEndingSelection(createVisibleSelection(builder.build())); |
if (relocatableReferencePosition.position().isNull()) { |
clearTransientState(); |