gecko-dev/editor/libeditor
Masayuki Nakano 555eef31f3 Bug 1793873 - Make `HTMLEditor::DoSplitNode` stop assuming that joining nodes are in same parent r=m_kato
Between splitting a node and undoing it, web apps can move split nodes anywhere.
Therefore, it shouldn't assume they are always in same parent node, and
`RangeUpdater::SelAdjJoinNodes` needs to handle it correctly.

Unfortunately, `RangeUpdater::SelAdjJoinNodes` cannot handle nested cases
correctly, e.g., right node was in `aRemovedContent` or right node was in
the container of `aStartOfRightContent.GetContainer()`.  However, it's not
a new regression, and such complicated situation breaks undoing anyway.
Therefore, I think that we don't need to care about it for now.

Differential Revision: https://phabricator.services.mozilla.com/D159230
2022-10-14 02:49:13 +00:00
..
crashtests Bug 1792502 - Correct the emulation in crashtests for bug 1789967 r=m_kato 2022-10-02 00:03:36 +00:00
tests Bug 1792759 - part 4: Make all tests in mozilla-central stop using `nsIEditor.transactionManager` r=m_kato 2022-10-09 01:13:50 +00:00
AutoRangeArray.cpp Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
AutoRangeArray.h Bug 1775381 - Move `AutoRangeArray` from `EditorUtils.h` to its own header and cpp file r=m_kato 2022-08-04 05:39:16 +00:00
CSSEditUtils.cpp Bug 1793694 - part 1: Move some static inline methods of `HTMLEditor` to `HTMLEditUtils` r=m_kato 2022-10-12 02:44:17 +00:00
CSSEditUtils.h Bug 1793694 - part 7: Stop exposting `CSSEditUtils.h` and `ChangeStyleTransaction.h` r=m_kato 2022-10-12 02:44:20 +00:00
ChangeAttributeTransaction.cpp
ChangeAttributeTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
ChangeStyleTransaction.cpp Bug 1727844 - part 7: Make `HTMLEditor` related classes use constants in `HTMLEditUtils` to use specific character code point r=m_kato 2021-08-31 17:37:42 +00:00
ChangeStyleTransaction.h Bug 1793694 - part 7: Stop exposting `CSSEditUtils.h` and `ChangeStyleTransaction.h` r=m_kato 2022-10-12 02:44:20 +00:00
CompositionTransaction.cpp Bug 1783402 - part 3: Make result of unsafe getter methods of `EditorDOMPointBase` templated r=m_kato 2022-08-09 01:43:24 +00:00
CompositionTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
DeleteNodeTransaction.cpp Bug 1727840 - Make `DeleteNodeTransaction` allow to create its instance for non-editable text node which was created or modified by an editor r=m_kato 2021-09-15 00:20:19 +00:00
DeleteNodeTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
DeleteRangeTransaction.cpp Bug 1789967 - part 2: Make `TextEditor` and `HTMLEditor` implement `EditorBase::CollapseSelectionToEndOfLastLeafNode` by themselves r=m_kato 2022-09-22 06:17:36 +00:00
DeleteRangeTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
DeleteTextTransaction.cpp Bug 1764684 - part 2: Make editor use methods of `EditorBase` to collapse `Selection` r=m_kato 2022-04-20 14:36:52 +00:00
DeleteTextTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
EditAction.h Bug 1770877 - part 21: Get rid of `HTMLEditor::SplitInlinesAndCollectEditTargetNodes` r=m_kato 2022-06-21 01:07:10 +00:00
EditAggregateTransaction.cpp
EditAggregateTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
EditTransactionBase.cpp Bug 1766355 - part 1: Add `MoveNodeTransaction` to handle delete node and insert node in a transaction class instance r=m_kato 2022-05-20 08:28:08 +00:00
EditTransactionBase.h Bug 1766355 - part 1: Add `MoveNodeTransaction` to handle delete node and insert node in a transaction class instance r=m_kato 2022-05-20 08:28:08 +00:00
EditorBase.cpp Bug 1793694 - part 7: Stop exposting `CSSEditUtils.h` and `ChangeStyleTransaction.h` r=m_kato 2022-10-12 02:44:20 +00:00
EditorBase.h Bug 1793381 - part 1: Make `HTMLEditor::InsertObject` and related methods use `enum class` instead of `bool` r=m_kato 2022-10-09 01:27:34 +00:00
EditorCommands.cpp
EditorCommands.h Bug 1784192 - part 1: Change `PropItem::tag` to `nsStaticAtom*` r=m_kato 2022-08-26 03:10:30 +00:00
EditorController.cpp
EditorController.h
EditorDOMPoint.h Bug 1793873 - Make `HTMLEditor::DoSplitNode` stop assuming that joining nodes are in same parent r=m_kato 2022-10-14 02:49:13 +00:00
EditorEventListener.cpp Bug 1793694 - part 6: Stop exposting `EditorUtils.h` r=m_kato 2022-10-12 02:44:20 +00:00
EditorEventListener.h Bug 1770874 - part 6: Move most part of `EditorEventListener::Blur` into `EditorBase` r=m_kato 2022-05-27 04:02:30 +00:00
EditorForwards.h Bug 1793694 - part 7: Stop exposting `CSSEditUtils.h` and `ChangeStyleTransaction.h` r=m_kato 2022-10-12 02:44:20 +00:00
EditorUtils.cpp Bug 1793694 - part 5: Move `EditorUtils::MaskString` to `TextEditor` r=m_kato 2022-10-12 02:44:19 +00:00
EditorUtils.h Bug 1793694 - part 5: Move `EditorUtils::MaskString` to `TextEditor` r=m_kato 2022-10-12 02:44:19 +00:00
HTMLAbsPositionEditor.cpp Bug 1793694 - part 1: Move some static inline methods of `HTMLEditor` to `HTMLEditUtils` r=m_kato 2022-10-12 02:44:17 +00:00
HTMLAnonymousNodeEditor.cpp Bug 1793485: Fixed memory issue in `NodeWillBeDestroyed()` for `MultiMutationObserver` classes. r=smaug 2022-10-13 14:26:07 +00:00
HTMLEditHelpers.cpp Bug 1792654 - Make `CreateNodeResultBase`, `MoveNodeResult`, `SplitNodeResult` and `SplitRangeOffResult` handle caret point with a common base class r=m_kato 2022-10-04 21:36:57 +00:00
HTMLEditHelpers.h Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
HTMLEditSubActionHandler.cpp Bug 1793694 - part 2: Move some protected inline method definitions of `HTMLEditor` to non-exposed header r=m_kato 2022-10-12 02:44:18 +00:00
HTMLEditUtils.cpp Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
HTMLEditUtils.h Bug 1793694 - part 4: Stop exposing `HTMLEditUtils.h` r=m_kato 2022-10-12 02:44:19 +00:00
HTMLEditor.cpp Bug 1793873 - Make `HTMLEditor::DoSplitNode` stop assuming that joining nodes are in same parent r=m_kato 2022-10-14 02:49:13 +00:00
HTMLEditor.h Bug 1793694 - part 7: Stop exposting `CSSEditUtils.h` and `ChangeStyleTransaction.h` r=m_kato 2022-10-12 02:44:20 +00:00
HTMLEditorCommands.cpp Bug 1784192 - part 1: Change `PropItem::tag` to `nsStaticAtom*` r=m_kato 2022-08-26 03:10:30 +00:00
HTMLEditorController.cpp
HTMLEditorController.h
HTMLEditorDataTransfer.cpp Bug 1793694 - part 1: Move some static inline methods of `HTMLEditor` to `HTMLEditUtils` r=m_kato 2022-10-12 02:44:17 +00:00
HTMLEditorDeleteHandler.cpp Bug 1793694 - part 1: Move some static inline methods of `HTMLEditor` to `HTMLEditUtils` r=m_kato 2022-10-12 02:44:17 +00:00
HTMLEditorDocumentCommands.cpp
HTMLEditorEventListener.cpp Bug 1455514 - part 1: Add accessors and static helper methods to retrieve `nsINode` or its concrete classes from `EventTarget` r=smaug 2021-11-02 13:03:43 +00:00
HTMLEditorEventListener.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
HTMLEditorInlines.h Bug 1793694 - part 6: Stop exposting `EditorUtils.h` r=m_kato 2022-10-12 02:44:20 +00:00
HTMLEditorObjectResizer.cpp Bug 1793694 - part 1: Move some static inline methods of `HTMLEditor` to `HTMLEditUtils` r=m_kato 2022-10-12 02:44:17 +00:00
HTMLEditorState.cpp Bug 1793694 - part 6: Stop exposting `EditorUtils.h` r=m_kato 2022-10-12 02:44:20 +00:00
HTMLInlineTableEditor.cpp Bug 1771448 - part 4: Rename `HTMLEditor::GetActiveEditingHost` to `ComputeEditingHost` r=m_kato 2022-05-31 03:41:01 +00:00
HTMLStyleEditor.cpp Bug 1793694 - part 2: Move some protected inline method definitions of `HTMLEditor` to non-exposed header r=m_kato 2022-10-12 02:44:18 +00:00
HTMLTableEditor.cpp Bug 1793694 - part 2: Move some protected inline method definitions of `HTMLEditor` to non-exposed header r=m_kato 2022-10-12 02:44:18 +00:00
InsertNodeTransaction.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
InsertNodeTransaction.h Bug 1762115 - part 2: Make `InsertNodeTransaction::DoTransaction()` stop touching `Selection` directly r=m_kato 2022-05-02 23:17:18 +00:00
InsertTextTransaction.cpp Bug 1783402 - part 3: Make result of unsafe getter methods of `EditorDOMPointBase` templated r=m_kato 2022-08-09 01:43:24 +00:00
InsertTextTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
InternetCiter.cpp Bug 1722484 Part 2 - Replace LineBreaker::Next() and WordBreaker::Next() with the new iterators. r=m_kato 2021-11-09 01:14:15 +00:00
InternetCiter.h Bug 1734590 - Both the static InternetCiter methods are now infallible, so no need to return/check an nsresult. r=TYLin 2021-10-11 12:20:42 +00:00
JoinNodesTransaction.cpp Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
JoinNodesTransaction.h Bug 1774114 - Make `HTMLEditor` and its helper classes get split/join node direction dynamically r=m_kato 2022-07-01 02:02:03 +00:00
JoinSplitNodeDirection.h Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
ManualNAC.h
MoveNodeTransaction.cpp Bug 1789344 - Make `SelectionState::DidMoveNode` track DOM points having pointed the moved content correctly r=m_kato 2022-09-12 23:53:37 +00:00
MoveNodeTransaction.h Bug 1766355 - part 4: Make `HTMLEditor::MoveNodeWithTransaction` and `HTMLEditor::MoveNodeToEndWithTransaction` return `MoveNodeResult` r=m_kato 2022-05-20 08:28:09 +00:00
PendingStyles.cpp Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
PendingStyles.h Bug 1784192 - part 10: Make `PendingStyles::GetTypeInState()` return an `enum class` instead of taking 2 bool out parameters r=m_kato 2022-08-26 03:31:26 +00:00
PlaceholderTransaction.cpp Bug 1766956 - part 2: Make `PlaceholderTransaction::Merge` return `false` if the caret points of merging transactions are in different root nodes r=m_kato 2022-05-09 04:55:42 +00:00
PlaceholderTransaction.h Bug 1766956 - part 1: Make `PlaceholderTransaction::StartSelectionEquals` call `SelectionState::Equals` only when both selection caches store caret positions r=m_kato 2022-05-09 04:55:42 +00:00
ReplaceTextTransaction.cpp Bug 1764684 - part 2: Make editor use methods of `EditorBase` to collapse `Selection` r=m_kato 2022-04-20 14:36:52 +00:00
ReplaceTextTransaction.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
SelectionState.cpp Bug 1793873 - Make `HTMLEditor::DoSplitNode` stop assuming that joining nodes are in same parent r=m_kato 2022-10-14 02:49:13 +00:00
SelectionState.h Bug 1793873 - Make `HTMLEditor::DoSplitNode` stop assuming that joining nodes are in same parent r=m_kato 2022-10-14 02:49:13 +00:00
SplitNodeTransaction.cpp Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
SplitNodeTransaction.h Bug 1792642 - Make `SplitNodeResult` treated as ok type of `Result` r=m_kato 2022-10-04 07:28:10 +00:00
TextEditSubActionHandler.cpp Bug 1791501 - Use `EditActionResult` as ok type of `mozilla::Result` r=m_kato 2022-09-28 07:21:37 +00:00
TextEditor.cpp Bug 1793694 - part 5: Move `EditorUtils::MaskString` to `TextEditor` r=m_kato 2022-10-12 02:44:19 +00:00
TextEditor.h Bug 1793694 - part 5: Move `EditorUtils::MaskString` to `TextEditor` r=m_kato 2022-10-12 02:44:19 +00:00
TextEditorDataTransfer.cpp Bug 1793694 - part 6: Stop exposting `EditorUtils.h` r=m_kato 2022-10-12 02:44:20 +00:00
WSRunObject.cpp Bug 1793694 - part 3: Move definitions of `JoinNodesDirection` and `SplitNodeDirection` into a new exposed header file r=m_kato 2022-10-12 02:44:18 +00:00
WSRunObject.h Bug 1791501 - Use `EditActionResult` as ok type of `mozilla::Result` r=m_kato 2022-09-28 07:21:37 +00:00
moz.build Bug 1793694 - part 7: Stop exposting `CSSEditUtils.h` and `ChangeStyleTransaction.h` r=m_kato 2022-10-12 02:44:20 +00:00