LayoutTests:
Reviewed by john
<rdar://problem/5032066> <Delete> should work between To Dos
Demonstrates the fix:
* editing/deleting/5032066-expected.checksum: Added.
* editing/deleting/5032066-expected.png: Added.
* editing/deleting/5032066-expected.txt: Added.
* editing/deleting/5032066.html: Added.
Fixed:
* editing/deleting/delete-block-table-expected.checksum:
* editing/deleting/delete-block-table-expected.png:
* editing/deleting/delete-block-table-expected.txt:
shouldInsertNode:... now being called during moves:
* editing/deleting/delete-3857753-fix-expected.txt:
* editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
* editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
* editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
* editing/deleting/delete-block-merge-contents-001-expected.txt:
* editing/deleting/delete-block-merge-contents-002-expected.txt:
* editing/deleting/delete-block-merge-contents-003-expected.txt:
* editing/deleting/delete-block-merge-contents-004-expected.txt:
* editing/deleting/delete-block-merge-contents-005-expected.txt:
* editing/deleting/delete-block-merge-contents-006-expected.txt:
* editing/deleting/delete-block-merge-contents-007-expected.txt:
* editing/deleting/delete-block-merge-contents-008-expected.txt:
* editing/deleting/delete-block-merge-contents-009-expected.txt:
* editing/deleting/delete-block-merge-contents-010-expected.txt:
* editing/deleting/delete-block-merge-contents-012-expected.txt:
* editing/deleting/delete-block-merge-contents-013-expected.txt:
* editing/deleting/delete-block-merge-contents-014-expected.txt:
* editing/deleting/delete-block-merge-contents-015-expected.txt:
* editing/deleting/delete-block-merge-contents-016-expected.txt:
* editing/deleting/delete-block-merge-contents-017-expected.txt:
* editing/deleting/delete-block-merge-contents-018-expected.txt:
* editing/deleting/delete-block-merge-contents-019-expected.txt:
* editing/deleting/delete-block-merge-contents-020-expected.txt:
* editing/deleting/delete-block-merge-contents-021-expected.txt:
* editing/deleting/delete-block-merge-contents-022-expected.txt:
* editing/deleting/delete-br-010-expected.txt:
* editing/deleting/delete-line-002-expected.txt:
* editing/deleting/delete-line-004-expected.txt:
* editing/deleting/delete-line-006-expected.txt:
* editing/deleting/delete-line-007-expected.txt:
* editing/deleting/delete-line-008-expected.txt:
* editing/deleting/delete-line-011-expected.txt:
* editing/deleting/delete-line-012-expected.txt:
* editing/deleting/delete-listitem-001-expected.txt:
* editing/deleting/delete-to-end-of-paragraph-expected.txt:
* editing/deleting/merge-different-styles-expected.txt:
* editing/deleting/merge-no-br-expected.txt:
* editing/deleting/pruning-after-merge-1-expected.txt:
* editing/deleting/pruning-after-merge-2-expected.txt:
* editing/execCommand/create-list-from-range-selection-expected.txt:
* editing/execCommand/create-list-with-hr-expected.txt:
* editing/execCommand/format-block-expected.txt:
* editing/execCommand/format-block-from-range-selection-expected.txt:
* editing/execCommand/format-block-with-braces-expected.txt:
* editing/execCommand/format-block-with-trailing-br-expected.txt:
* editing/execCommand/indent-list-item-expected.txt:
* editing/execCommand/indent-selection-expected.txt:
* editing/execCommand/insert-list-and-stitch-expected.txt:
* editing/execCommand/insert-list-with-id-expected.txt:
* editing/execCommand/nsresponder-indent-expected.txt:
* editing/execCommand/outdent-selection-expected.txt:
* editing/execCommand/queryCommandState-01-expected.txt:
* editing/execCommand/remove-list-1-expected.txt:
* editing/execCommand/remove-list-from-range-selection-expected.txt:
* editing/execCommand/remove-list-item-1-expected.txt:
* editing/execCommand/remove-list-items-expected.txt:
* editing/execCommand/switch-list-type-expected.txt:
* editing/inserting/insert-3907422-fix-expected.txt:
* editing/inserting/insert-div-026-expected.txt:
* editing/inserting/multiple-lines-selected-expected.txt:
* editing/inserting/return-key-with-selection-001-expected.txt:
* editing/inserting/return-key-with-selection-002-expected.txt:
* editing/pasteboard/4076267-2-expected.txt:
* editing/pasteboard/4700297-expected.txt:
* editing/pasteboard/8145-3-expected.txt:
* editing/pasteboard/display-block-on-spans-expected.txt:
* editing/pasteboard/emacs-ctrl-k-y-001-expected.txt:
* editing/pasteboard/interchange-newline-1-expected.txt:
* editing/pasteboard/interchange-newline-2-expected.txt:
* editing/pasteboard/merge-after-delete-1-expected.txt:
* editing/pasteboard/merge-after-delete-2-expected.txt:
* editing/pasteboard/merge-after-delete-expected.txt:
* editing/pasteboard/merge-end-1-expected.txt:
* editing/pasteboard/merge-end-2-expected.txt:
* editing/pasteboard/merge-end-3-expected.txt:
* editing/pasteboard/merge-end-4-expected.txt:
* editing/pasteboard/merge-end-5-expected.txt:
* editing/pasteboard/merge-end-blockquote-expected.txt:
* editing/pasteboard/merge-end-borders-expected.txt:
* editing/pasteboard/merge-end-list-expected.txt:
* editing/pasteboard/merge-end-table-expected.txt:
* editing/pasteboard/paste-line-endings-007-expected.txt:
* editing/pasteboard/paste-line-endings-008-expected.txt:
* editing/pasteboard/paste-line-endings-009-expected.txt:
* editing/pasteboard/paste-match-style-001-expected.txt:
* editing/pasteboard/paste-text-002-expected.txt:
* editing/pasteboard/paste-text-003-expected.txt:
* editing/pasteboard/paste-text-004-expected.txt:
* editing/pasteboard/paste-text-005-expected.txt:
* editing/pasteboard/paste-text-006-expected.txt:
* editing/pasteboard/paste-text-008-expected.txt:
* editing/pasteboard/paste-text-009-expected.txt:
* editing/pasteboard/paste-text-010-expected.txt:
* editing/pasteboard/smart-paste-001-expected.txt:
* editing/pasteboard/smart-paste-002-expected.txt:
* editing/pasteboard/smart-paste-003-expected.txt:
* editing/pasteboard/smart-paste-004-expected.txt:
* editing/pasteboard/smart-paste-005-expected.txt:
* editing/pasteboard/smart-paste-006-expected.txt:
* editing/pasteboard/smart-paste-007-expected.txt:
* editing/pasteboard/smart-paste-008-expected.txt:
* editing/style/create-block-for-style-001-expected.txt:
* editing/style/create-block-for-style-002-expected.txt:
* editing/style/create-block-for-style-003-expected.txt:
* editing/style/create-block-for-style-004-expected.txt:
* editing/style/create-block-for-style-007-expected.txt:
* editing/style/create-block-for-style-009-expected.txt:
* editing/style/create-block-for-style-010-expected.txt:
* editing/style/create-block-for-style-011-expected.txt:
* editing/style/create-block-for-style-012-expected.txt:
* editing/style/create-block-for-style-013-expected.txt:
* editing/style/smoosh-styles-001-expected.txt:
* editing/style/smoosh-styles-002-expected.txt:
* editing/style/style-boundary-005-expected.txt:
* editing/unsupported-content/list-delete-001-expected.txt:
WebCore:
Reviewed by john
<rdar://problem/5032066> Delete should work between ToDos
Stop selecting the table when the user attempts to delete
the line break just after it, instead, extend the selection
into the last table cell.
Let deletion merge content into table cells (as long as
its not from another table cell).
Start calling shouldInsertNode:replacingDOMRange:givenAction:
when moving content with moveParagraphs, so that Mail can
modify content before it is moved into a ToDo during a delete.
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::moveParagraphs): Ask the
delegate before performing the move. This will let Mail
prevent styles from entering a ToDo.
Added a FIXME about adding a new WebViewInsertAction
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
Allow merging into table cells from content not in a table.
* editing/SelectionController.cpp:
(WebCore::SelectionController::modifyExtendingRightForward):
Don't select the table when extending by character/word from
just before it. This code was here to make it easier to select
tables in order to delete them, but the deletion UI makes it
largely unnecessary.
(WebCore::SelectionController::modifyExtendingLeftBackward):
Ditto.
* editing/TypingCommand.cpp:
(WebCore::isFirstPositionAfterTable): Added.
(WebCore::isLastPositionBeforeTable): Ditto.
(WebCore::TypingCommand::deleteKeyPressed): When pressing
the delete key with a caret at the beginning of a paragraph
just after a table, move the paragraph into the last table
cell.
Do not do this if it would mean moving a block table.
Removed some old irrelevant comments.
* editing/htmlediting.cpp: Removed unused functions.
* editing/htmlediting.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@20591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
129 files changed