gecko-dev/editor/libeditor
Masayuki Nakano 78430c342b Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz
Our internal code can touch internal `Selection` object of `<input>` and
`<textarea>`, thus, selection ranges in them may be not in the text node.
Therefore, we should make `TextEditor` instance try to shrink the deleting
ranges into the text node first.

In a followup bug (perhaps, bug 1734846), we should split the deletion code into
`TextEditor` and `HTMLEditor` for making the code simpler and never regressed.

Differential Revision: https://phabricator.services.mozilla.com/D133181
2021-12-08 21:37:22 +00:00
..
crashtests Bug 1725850 - part 30: Port editor/libeditor/crashtests/716456-1.html to WPT r=saschanaz 2021-10-29 09:29:24 +00:00
tests Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz 2021-12-08 21:37:22 +00:00
CSSEditUtils.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
CSSEditUtils.h
ChangeAttributeTransaction.cpp
ChangeAttributeTransaction.h
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
CompositionTransaction.cpp Bug 1714914 - Make editor classes treat offset in parent node as uint32_t r=m_kato 2021-06-30 07:07:28 +00:00
CompositionTransaction.h
CreateElementTransaction.cpp Bug 1742744 - part 1: Make `CreateElementTransaction::InsertNode()` not return error if reference child is disconnected r=m_kato 2021-11-26 05:26:35 +00:00
CreateElementTransaction.h Bug 1740872 - part 1: Move `EditorBase::CreateElementWithTransaction()` into `HTMLEditor` r=m_kato 2021-11-17 04:08:46 +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
DeleteRangeTransaction.cpp Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz 2021-12-08 21:37:22 +00:00
DeleteRangeTransaction.h
DeleteTextTransaction.cpp
DeleteTextTransaction.h
EditAction.h
EditActionListener.h
EditAggregateTransaction.cpp
EditAggregateTransaction.h
EditTransactionBase.cpp
EditTransactionBase.h
EditorBase.cpp Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz 2021-12-08 21:37:22 +00:00
EditorBase.h Bug 1740872 - part 1: Move `EditorBase::CreateElementWithTransaction()` into `HTMLEditor` r=m_kato 2021-11-17 04:08:46 +00:00
EditorCommands.cpp Bug 1713756 - Make editor command classes treat `EditorBase` instead of `TextEditor` r=m_kato 2021-06-09 07:17:52 +00:00
EditorCommands.h Bug 1713756 - Make editor command classes treat `EditorBase` instead of `TextEditor` r=m_kato 2021-06-09 07:17:52 +00:00
EditorController.cpp
EditorController.h
EditorDOMPoint.h Bug 1742748 - Make `HTMLEditor::JoinNodesWithTransaction()` return `JoinNodesResult` r=m_kato 2021-11-27 00:05:54 +00:00
EditorEventListener.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
EditorEventListener.h Bug 1729115 - part 3: Make `IMEStateManager` check whether given focused content matches with null `sContent` in design mode r=m_kato 2021-10-12 04:41:14 +00:00
EditorUtils.cpp Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz 2021-12-08 21:37:22 +00:00
EditorUtils.h Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz 2021-12-08 21:37:22 +00:00
HTMLAbsPositionEditor.cpp Bug 1723921 - Cleanup nsComputedDOMStyle and related APIs. r=layout-reviewers,jfkthame 2021-08-07 09:47:15 +00:00
HTMLAnonymousNodeEditor.cpp
HTMLEditHelpers.cpp Bug 1739526 - Move some trivial classes defined in `EditorUtils.h` but used only by `HTMEditor` or its helper classes to `HTMLEditHelpers.h" r=m_kato 2021-11-05 14:10:49 +00:00
HTMLEditHelpers.h Bug 1742748 - Make `HTMLEditor::JoinNodesWithTransaction()` return `JoinNodesResult` r=m_kato 2021-11-27 00:05:54 +00:00
HTMLEditSubActionHandler.cpp Bug 1742748 - Make `HTMLEditor::JoinNodesWithTransaction()` return `JoinNodesResult` r=m_kato 2021-11-27 00:05:54 +00:00
HTMLEditUtils.cpp Bug 1729170 - Make all methods of `nsTextFragment` take `uint32_t` for the offset and length of text r=smaug 2021-10-12 05:05:12 +00:00
HTMLEditUtils.h Bug 1739526 - Move some trivial classes defined in `EditorUtils.h` but used only by `HTMEditor` or its helper classes to `HTMLEditHelpers.h" r=m_kato 2021-11-05 14:10:49 +00:00
HTMLEditor.cpp Bug 1639287 - part 1: Make `JoinNodeTransaction::UndoTransaction()` use `HTMLEditor::DoSplitNode()` r=m_kato 2021-11-29 10:17:21 +00:00
HTMLEditor.h Bug 1639287 - part 1: Make `JoinNodeTransaction::UndoTransaction()` use `HTMLEditor::DoSplitNode()` r=m_kato 2021-11-29 10:17:21 +00:00
HTMLEditorCommands.cpp Bug 1714918 - Sort out editor class accessors of `nsIEditor` r=m_kato 2021-06-11 03:01:08 +00:00
HTMLEditorController.cpp
HTMLEditorController.h
HTMLEditorDataTransfer.cpp Bug 1740858 - Improve `SplitNodeResult` r=m_kato 2021-11-24 00:56:33 +00:00
HTMLEditorDeleteHandler.cpp Bug 1742748 - Make `HTMLEditor::JoinNodesWithTransaction()` return `JoinNodesResult` r=m_kato 2021-11-27 00:05:54 +00:00
HTMLEditorDocumentCommands.cpp Bug 1714918 - Sort out editor class accessors of `nsIEditor` r=m_kato 2021-06-11 03:01:08 +00:00
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
HTMLEditorObjectResizer.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
HTMLEditorState.cpp Bug 1726064 - part 10: Make the constructor of `AlignStateAtSelection` use `HTMLEditUtils::GetInclusiveAncestorElement()` r=m_kato 2021-08-20 22:17:02 +00:00
HTMLInlineTableEditor.cpp Bug 1717178 - part 1: Get rid of `nsIHTMLInlineTableEditor.refreshInlineTableEditingUI()` because of unused r=m_kato 2021-06-28 12:08:49 +00:00
HTMLStyleEditor.cpp Bug 1742748 - Make `HTMLEditor::JoinNodesWithTransaction()` return `JoinNodesResult` r=m_kato 2021-11-27 00:05:54 +00:00
HTMLTableEditor.cpp Bug 1732234 - Fix non-unified build errors in editor/. r=masayuki 2021-09-28 04:26:52 +00:00
InsertNodeTransaction.cpp Bug 1713334 - Part 1: Keep a text node inside text controls even if empty r=masayuki,Jamie 2021-06-18 00:36:53 +00:00
InsertNodeTransaction.h
InsertTextTransaction.cpp
InsertTextTransaction.h
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
JoinNodeTransaction.cpp Bug 1639287 - part 1: Make `JoinNodeTransaction::UndoTransaction()` use `HTMLEditor::DoSplitNode()` r=m_kato 2021-11-29 10:17:21 +00:00
JoinNodeTransaction.h
ManualNAC.h
PlaceholderTransaction.cpp
PlaceholderTransaction.h
ReplaceTextTransaction.cpp
ReplaceTextTransaction.h
SelectionState.cpp Bug 1739524 - part 2: Make `RangeUpdater::SelAdjSplitNode()` handle both cases that right/left node is a new node r=m_kato 2021-11-08 09:49:33 +00:00
SelectionState.h Bug 1740847 - part 2: Make `WhiteSpaceVisibilityKeeper::InsertBRElement()` track insert position in smaller block r=m_kato 2021-11-12 08:04:37 +00:00
SplitNodeTransaction.cpp Bug 1639287 - part 2: Make `SplitNodeTransaction::RedoTransaction()` use `HTMLEditor::DoSplitNode()` r=m_kato 2021-11-29 10:17:21 +00:00
SplitNodeTransaction.h
TextEditSubActionHandler.cpp Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz 2021-12-08 21:37:22 +00:00
TextEditor.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
TextEditor.h Bug 1734507 - Make `TextEditor` guarantee that ranges to delete are in the text node r=saschanaz 2021-12-08 21:37:22 +00:00
TextEditorDataTransfer.cpp Bug 1727176, use the principal to determine the source of the drag, r=masayuki 2021-08-31 00:58:35 +00:00
TypeInState.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
TypeInState.h Bug 1730429 - part 2: Delete empty inline elements which become newly empty but preserve the styles for next editing r=m_kato 2021-09-15 04:13:44 +00:00
WSRunObject.cpp Bug 1740858 - Improve `SplitNodeResult` r=m_kato 2021-11-24 00:56:33 +00:00
WSRunObject.h Bug 1724650 - part 6: Make white-space normalizers treat `white-space: pre-line` correctly r=m_kato 2021-09-10 04:04:29 +00:00
moz.build Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium 2021-12-01 06:40:04 +00:00