Source/WebCore:
ASSERTION FAILED: !selectionToDelete.isNone() in TypingCommand::forwardDeleteKeyPressed
when deleting a UserSelect::None element.
https://bugs.webkit.org/show_bug.cgi?id=210530
<rdar://problem/58591480>

Reviewed by Geoffrey Garen.

Quit forwardDeleteKeyPressed() if FrameSelection::modify() returns empty selection.

Test: editing/deleting/forward-delete-UserSelect-None-element.html

* editing/TypingCommand.cpp:
(WebCore::TypingCommand::forwardDeleteKeyPressed):

LayoutTests:
ASSERTION FAILED: !selectionToDelete.isNone() in TypingCommand::forwardDeleteKeyPressed
when deleting a UserSelect::None element.
https://bugs.webkit.org/show_bug.cgi?id=210530
<rdar://problem/58591480>

Reviewed by Geoffrey Garen.

Added a regression test for the crash.

* editing/deleting/forward-delete-UserSelect-None-element-expected.txt: Added.
* editing/deleting/forward-delete-UserSelect-None-element.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@260153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element.html b/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element.html
new file mode 100644
index 0000000..56a3153
--- /dev/null
+++ b/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element.html
@@ -0,0 +1,8 @@
+<body><input id=input required draggable="true">
+<script>
+    input.focus();
+    document.execCommand("forwardDelete", false);
+    document.body.innerText = "Tests forward-deleting a UserSelect::None element. The test passes if WebKit doesn't crash or hit an ssertion.";
+    if (window.testRunner)
+        testRunner.dumpAsText();
+</script>