LayoutTests:
[WebKit-https.git] / WebCore / editing / Selection.cpp
index ffe73795ee1a8552beceba74a76df2d9076c6261..c15ab5738d65cb5fb9d7c3ac6cc2483f31616f8d 100644 (file)
@@ -356,6 +356,10 @@ void Selection::adjustForEditableContent()
         if (startRoot != baseRoot) {
             VisiblePosition first = firstEditablePositionAfterPositionInRoot(m_start, baseRoot);
             m_start = first.deepEquivalent();
         if (startRoot != baseRoot) {
             VisiblePosition first = firstEditablePositionAfterPositionInRoot(m_start, baseRoot);
             m_start = first.deepEquivalent();
+            if (m_start.isNull()) {
+                ASSERT_NOT_REACHED();
+                m_start = m_end;
+            }
         }
         // If the end is outside the base's editable root, cap it at the end of that root.
         // If the end is in non-editable content that is inside the base's root, put it
         }
         // If the end is outside the base's editable root, cap it at the end of that root.
         // If the end is in non-editable content that is inside the base's root, put it
@@ -363,6 +367,10 @@ void Selection::adjustForEditableContent()
         if (endRoot != baseRoot) {
             VisiblePosition last = lastEditablePositionBeforePositionInRoot(m_end, baseRoot);
             m_end = last.deepEquivalent();
         if (endRoot != baseRoot) {
             VisiblePosition last = lastEditablePositionBeforePositionInRoot(m_end, baseRoot);
             m_end = last.deepEquivalent();
+            if (m_end.isNull()) {
+                ASSERT_NOT_REACHED();
+                m_end = m_start;
+            }
         }
     // The selection is based in non-editable content.
     } else {
         }
     // The selection is based in non-editable content.
     } else {