зеркало из https://github.com/mozilla/gecko-dev.git
ac74e89b26
Finally, `Document.execCommand()` still does not work fine if selection starts from very start of block and/or end at very end of block because `PromoteInlineRange()` extends selection range to contain the containers, then, `SubtreeContentIterator` won't list up text nodes. In this case, `RemoveInlinePropertyInternal()` expects that `RemoveStyleInside()` removes text node style with creating `<span>` elements. However, `RemoveStyleInsilde()` only handles `Element`s and it handles elements from most-descendants. Therefore, it cannot distinguish whether text node style comes from removing inline elements or parent block. This patch makes `RemoveInlinePropertyInternal()` collect descendant text nodes in the range after handling all nodes in the range except descendant text nodes, then, check the final style of descendant text nodes, finally, remove the style if coming from parent block. Differential Revision: https://phabricator.services.mozilla.com/D47865 --HG-- extra : moz-landing-system : lando |
||
---|---|---|
.. | ||
composer | ||
libeditor | ||
reftests | ||
spellchecker | ||
txmgr | ||
AsyncSpellCheckTestHelper.jsm | ||
moz.build | ||
nsIDocumentStateListener.idl | ||
nsIEditActionListener.idl | ||
nsIEditor.idl | ||
nsIEditorMailSupport.idl | ||
nsIEditorObserver.idl | ||
nsIEditorSpellCheck.idl | ||
nsIEditorStyleSheets.idl | ||
nsIHTMLAbsPosEditor.idl | ||
nsIHTMLEditor.idl | ||
nsIHTMLInlineTableEditor.idl | ||
nsIHTMLObjectResizer.idl | ||
nsIPlaintextEditor.idl | ||
nsITableEditor.idl |