gecko-dev/editor/libeditor
Masayuki Nakano e4a81444c1 Bug 1807495 - part 1: Make `Document` notify `HTMLEditor` and `IMEStateManager` of pseudo focus change when editing state of focused editing host or document is changed r=smaug,m_kato
`IMEStateManager` basically runs at focus change.  However, when `designMode`
is set to `"off"` or focused editing host becomes non-editable (removing
`contenteditable` attribute or `contenteditable` attribute is set to `false`),
IME may be disabled without a focus change.  Therefore, `Document` needs to
notify `IMEStateManager` of the timing.

Additionally, `nsFocusManager` does not change focus when focused element
becomes not focusable (bug 1807597).  Therefore, `Document` needs to kick
`focus` or `blur` event handler of `HTMLEditor` when active editing host
becomes not editable.

However, if an ancestor of focused element becomes editable, I think that
`HTMLEditor` does not work well without focus move because it computes
editing host with current editing state in a lot of places, but `Selection`
and `nsFocusManager::GetFocusedElement` keeps working with previous focused
element which is now a editable child of editing host.  Therefore, this patch
marks them as `todo` in the new tests.

Differential Revision: https://phabricator.services.mozilla.com/D171196
2023-04-11 23:26:03 +00:00
..
crashtests Bug 1814074 - Make `AutoDeleteRangesHandler::ExtendOrShrinkRangeToDelete` consider whether all list items are selected more carefully r=m_kato 2023-02-14 03:05:48 +00:00
tests Bug 1819109 - Remove snav.enabled. r=masayuki,geckoview-reviewers,emilio,owlish 2023-03-22 02:40:53 +00:00
AutoRangeArray.cpp Bug 1818339 - Make `AutoRangeArray` set `mAnchorFocusRange` correctly r=m_kato 2023-02-28 00:46:17 +00:00
AutoRangeArray.h Bug 1811409 - part 4: Make `AutoMoveOneLineHandler` never split container of insertion point r=m_kato 2023-02-03 05:19:42 +00:00
CSSEditUtils.cpp Bug 1815827 - part 1: Get rid of `editor.css.default_length_unit` pref r=m_kato 2023-02-21 22:54:24 +00:00
CSSEditUtils.h Bug 1815827 - part 1: Get rid of `editor.css.default_length_unit` pref r=m_kato 2023-02-21 22:54:24 +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 1802831 - Make `AutoInlineStyleSetter` align setting `text-decoration` style behavior in the CSS mode to the other browsers r=m_kato 2022-12-02 22:50:56 +00:00
ChangeStyleTransaction.h Bug 1802831 - Make `AutoInlineStyleSetter` align setting `text-decoration` style behavior in the CSS mode to the other browsers r=m_kato 2022-12-02 22:50:56 +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
DeleteContentTransactionBase.cpp Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
DeleteContentTransactionBase.h Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
DeleteMultipleRangesTransaction.cpp Bug 1797247 - part 2: Make `DeleteTextTransaction::DoTransaction` and `DeleteRangeTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-15 22:23:34 +00:00
DeleteMultipleRangesTransaction.h Bug 1797247 - part 2: Make `DeleteTextTransaction::DoTransaction` and `DeleteRangeTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-15 22:23:34 +00:00
DeleteNodeTransaction.cpp Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
DeleteNodeTransaction.h Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
DeleteRangeTransaction.cpp Bug 1797247 - part 2: Make `DeleteTextTransaction::DoTransaction` and `DeleteRangeTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-15 22:23:34 +00:00
DeleteRangeTransaction.h Bug 1797247 - part 2: Make `DeleteTextTransaction::DoTransaction` and `DeleteRangeTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-15 22:23:34 +00:00
DeleteTextTransaction.cpp Bug 1797247 - part 2: Make `DeleteTextTransaction::DoTransaction` and `DeleteRangeTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-15 22:23:34 +00:00
DeleteTextTransaction.h Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
EditAction.h Bug 1808722 - Make the delete handler of `HTMLEditor` collapse `Selection` to end of left block after joining blocks r=m_kato 2023-01-30 08:32:35 +00:00
EditAggregateTransaction.cpp Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
EditAggregateTransaction.h Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
EditTransactionBase.cpp Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
EditTransactionBase.h Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
EditorBase.cpp Bug 1807495 - part 1: Make `Document` notify `HTMLEditor` and `IMEStateManager` of pseudo focus change when editing state of focused editing host or document is changed r=smaug,m_kato 2023-04-11 23:26:03 +00:00
EditorBase.h Bug 1807495 - part 1: Make `Document` notify `HTMLEditor` and `IMEStateManager` of pseudo focus change when editing state of focused editing host or document is changed r=smaug,m_kato 2023-04-11 23:26:03 +00:00
EditorCommands.cpp
EditorCommands.h Bug 1810663 - Add Gecko specific command to enable new join/split node direction r=smaug,m_kato 2023-03-21 23:58:04 +00:00
EditorController.cpp
EditorController.h
EditorDOMPoint.h Bug 1825825 - Simplify NAC setup. r=smaug 2023-04-05 09:19:15 +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 1815383 - part 1: Make `InsertTextTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-17 08:25:24 +00:00
EditorUtils.cpp Bug 1815639 - part 12: Make `AutoDeleteRangesHandler::HandleDeleteHRElement()` stop touching `Selection` r=m_kato 2023-02-21 11:19:10 +00:00
EditorUtils.h Bug 1815639 - part 12: Make `AutoDeleteRangesHandler::HandleDeleteHRElement()` stop touching `Selection` r=m_kato 2023-02-21 11:19:10 +00:00
HTMLAbsPositionEditor.cpp Bug 1817641 - Convert RGBA to AbsoluteColor for computed/animated/resolved CSS colors r=emilio 2023-03-07 11:28:15 +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 1808886 - Make the style editor treat `<font>` related styles as exclusive styles r=m_kato 2023-01-20 03:45:58 +00:00
HTMLEditHelpers.h Bug 1812170 - Make `HTMLEditor::ClearStyleAt` should return `pointToPutCaret` if next node of first split is not split r=m_kato 2023-02-02 05:09:15 +00:00
HTMLEditSubActionHandler.cpp Bug 1817127 - Make `HTMLEditUtils::ContentIsInert` check `nsStyleUI::IsInert` instead of climbing up the tree r=emilio 2023-02-23 15:08:30 +00:00
HTMLEditUtils.cpp Bug 1817127 - Make `HTMLEditUtils::ContentIsInert` check `nsStyleUI::IsInert` instead of climbing up the tree r=emilio 2023-02-23 15:08:30 +00:00
HTMLEditUtils.h Bug 1817127 - Make `HTMLEditUtils::ContentIsInert` check `nsStyleUI::IsInert` instead of climbing up the tree r=emilio 2023-02-23 15:08:30 +00:00
HTMLEditor.cpp Bug 1807495 - part 1: Make `Document` notify `HTMLEditor` and `IMEStateManager` of pseudo focus change when editing state of focused editing host or document is changed r=smaug,m_kato 2023-04-11 23:26:03 +00:00
HTMLEditor.h Bug 1807495 - part 1: Make `Document` notify `HTMLEditor` and `IMEStateManager` of pseudo focus change when editing state of focused editing host or document is changed r=smaug,m_kato 2023-04-11 23:26:03 +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 Bug 1810663 - Add Gecko specific command to enable new join/split node direction r=smaug,m_kato 2023-03-21 23:58:04 +00:00
HTMLEditorController.h
HTMLEditorDataTransfer.cpp Bug 1820905 - Make `HTMLEditor::SplitNodeWithTransaction` return `NS_ERROR_EDITOR_UNEXPECTED_DOM_TREE` if split nodes have been removed from the DOM tree r=m_kato 2023-03-13 18:31:00 +00:00
HTMLEditorDeleteHandler.cpp Bug 1820449 - Make `WhiteSpaceVisibilityKeeper` verify tracking point of start of right joining node after flushing the tracker r=m_kato 2023-03-10 02:39:26 +00:00
HTMLEditorDocumentCommands.cpp Bug 1810663 - Add Gecko specific command to enable new join/split node direction r=smaug,m_kato 2023-03-21 23:58:04 +00:00
HTMLEditorEventListener.cpp
HTMLEditorEventListener.h Bug 1764866 - Add "mozilla/EditorForwards.h" r=m_kato 2022-04-20 14:46:16 +00:00
HTMLEditorInlines.h Bug 1809129 - part 5: Make `AutoListElementCreator` copy attributes at replacing block elements r=m_kato 2023-02-14 02:51:32 +00:00
HTMLEditorNestedClasses.h Bug 1809129 - part 5: Make `AutoListElementCreator` copy attributes at replacing block elements r=m_kato 2023-02-14 02:51:32 +00:00
HTMLEditorObjectResizer.cpp Bug 1815827 - part 5: Get rid of `editor.resizing.preserve_ratio` pref r=m_kato 2023-02-21 22:54:26 +00:00
HTMLEditorState.cpp Bug 1808886 - Make the style editor treat `<font>` related styles as exclusive styles r=m_kato 2023-01-20 03:45:58 +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 1809129 - part 5: Make `AutoListElementCreator` copy attributes at replacing block elements r=m_kato 2023-02-14 02:51:32 +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 1815383 - part 1: Make `InsertTextTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-17 08:25:24 +00:00
InsertTextTransaction.h Bug 1815383 - part 1: Make `InsertTextTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-17 08:25:24 +00:00
InternetCiter.cpp
InternetCiter.h
JoinNodesTransaction.cpp Bug 1795061 - Stop exposing `JoinSplitNodeDirection.h` r=m_kato 2022-10-19 06:40:30 +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 1795061 - Stop exposing `JoinSplitNodeDirection.h` r=m_kato 2022-10-19 06:40:30 +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 1814337 - Fix bugs at applying multiple styles to collapsed `Selection` r=m_kato 2023-02-07 14:52:02 +00:00
PendingStyles.h Bug 1814337 - Fix bugs at applying multiple styles to collapsed `Selection` r=m_kato 2023-02-07 14:52:02 +00:00
PlaceholderTransaction.cpp Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
PlaceholderTransaction.h Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00
ReplaceTextTransaction.cpp Bug 1815383 - part 3: Make `ReplaceTextTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-17 09:42:31 +00:00
ReplaceTextTransaction.h Bug 1815383 - part 3: Make `ReplaceTextTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-17 09:42:31 +00:00
SelectionState.cpp Bug 1820448 - Make `RangeUpdater::SelAdjSplitNode` handle insertion better r=m_kato 2023-03-13 18:30:04 +00:00
SelectionState.h Bug 1792386 - part 2: Make `AutoInlineStyleSetter` store updated range to compute new `Selection` after applying the style r=m_kato 2022-12-20 00:25:45 +00:00
SplitNodeTransaction.cpp Bug 1795061 - Stop exposing `JoinSplitNodeDirection.h` r=m_kato 2022-10-19 06:40:30 +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 1815383 - part 1: Make `InsertTextTransaction::DoTransaction` stop updating `Selection` directly r=m_kato 2023-02-17 08:25:24 +00:00
TextEditor.cpp Bug 1776879, replace text/unicode for clipboard and drag and drop and use text/plain directly, r=edgar,mak,stransky,geckoview-reviewers,extension-reviewers,zombie,m_kato 2023-02-01 23:30:55 +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 1776879, replace text/unicode for clipboard and drag and drop and use text/plain directly, r=edgar,mak,stransky,geckoview-reviewers,extension-reviewers,zombie,m_kato 2023-02-01 23:30:55 +00:00
WSRunObject.cpp Bug 1810403: Allow `nsRange`s to be in multiple `Selection`s. r=masayuki 2023-02-21 12:25:28 +00:00
WSRunObject.h Bug 1815639 - part 7: Make `WhiteSpaceVisibilityKeeper::DeleteContentNodeAndJoinTextNodesAroundIt` stop touching `Selection` directly r=m_kato 2023-02-21 10:38:26 +00:00
moz.build Bug 1797247 - part 1: Add delete transaction classes to use build time type checks r=m_kato 2023-02-15 22:17:17 +00:00