Title: [260153] trunk
- Revision
- 260153
- Author
- [email protected]
- Date
- 2020-04-15 14:57:22 -0700 (Wed, 15 Apr 2020)
Log Message
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.
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (260152 => 260153)
--- trunk/LayoutTests/ChangeLog 2020-04-15 21:23:46 UTC (rev 260152)
+++ trunk/LayoutTests/ChangeLog 2020-04-15 21:57:22 UTC (rev 260153)
@@ -1,3 +1,17 @@
+2020-04-15 Jack Lee <[email protected]>
+
+ 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.
+
2020-04-15 Wenson Hsieh <[email protected]>
[iPadOS] Some pages indefinitely zoom in and out due to idempotent text autosizing
Added: trunk/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element-expected.txt (0 => 260153)
--- trunk/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element-expected.txt (rev 0)
+++ trunk/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element-expected.txt 2020-04-15 21:57:22 UTC (rev 260153)
@@ -0,0 +1 @@
+Tests forward-deleting a UserSelect::None element. The test passes if WebKit doesn't crash or hit an ssertion.
Added: trunk/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element.html (0 => 260153)
--- trunk/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element.html (rev 0)
+++ trunk/LayoutTests/editing/deleting/forward-delete-UserSelect-None-element.html 2020-04-15 21:57:22 UTC (rev 260153)
@@ -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>
Modified: trunk/Source/WebCore/ChangeLog (260152 => 260153)
--- trunk/Source/WebCore/ChangeLog 2020-04-15 21:23:46 UTC (rev 260152)
+++ trunk/Source/WebCore/ChangeLog 2020-04-15 21:57:22 UTC (rev 260153)
@@ -1,3 +1,19 @@
+2020-04-15 Jack Lee <[email protected]>
+
+ 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):
+
2020-04-15 Peng Liu <[email protected]>
Video elements don't return to the correct position when exiting fullscreen
Modified: trunk/Source/WebCore/editing/TypingCommand.cpp (260152 => 260153)
--- trunk/Source/WebCore/editing/TypingCommand.cpp 2020-04-15 21:23:46 UTC (rev 260152)
+++ trunk/Source/WebCore/editing/TypingCommand.cpp 2020-04-15 21:57:22 UTC (rev 260153)
@@ -801,6 +801,8 @@
FrameSelection selection;
selection.setSelection(endingSelection());
selection.modify(FrameSelection::AlterationExtend, DirectionForward, granularity);
+ if (selection.isNone())
+ return;
if (shouldAddToKillRing && selection.isCaret() && granularity != CharacterGranularity)
selection.modify(FrameSelection::AlterationExtend, DirectionForward, CharacterGranularity);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes