Index: Source/core/editing/DeleteSelectionCommand.cpp |
diff --git a/Source/core/editing/DeleteSelectionCommand.cpp b/Source/core/editing/DeleteSelectionCommand.cpp |
index 7b886c7b906e021ee6878f1542062a7f14ae1e41..6e8690f5d57b1668596292107cb5eb7ee970db2a 100644 |
--- a/Source/core/editing/DeleteSelectionCommand.cpp |
+++ b/Source/core/editing/DeleteSelectionCommand.cpp |
@@ -164,6 +164,10 @@ void DeleteSelectionCommand::initializePositionData() |
Position start, end; |
initializeStartEnd(start, end); |
+ ASSERT(isEditablePosition(start, ContentIsEditable, DoNotUpdateStyle)); |
+ if (!isEditablePosition(end, ContentIsEditable, DoNotUpdateStyle)) |
+ end = lastEditablePositionBeforePositionInRoot(end, highestEditableRoot(start)).deepEquivalent(); |
+ |
m_upstreamStart = start.upstream(); |
m_downstreamStart = start.downstream(); |
m_upstreamEnd = end.upstream(); |