зеркало из https://github.com/mozilla/gecko-dev.git
b327dea259
HTMLEditRules::BustUpInlinesAtRangeEndpoints() tries to split all inline nodes at range start and range end. It uses EditorBase::SplitNodeDeep() to split the nodes and HTMLEditRules::GetHighestInlineParent() to retrieve the highest inline parent of them. Currently, HTMLEditRules::GetHighestInlineParent() may return editing host or ancestor of it if active editing host is not block. Then, it may cause splitting editing host or its parents and following methods of HTMLEditRules will fail to modify the nodes created outside the editing host. So, HTMLEditRules::GetHighestInlineParent() should return only one of the descendants of active editing host. Unfortunately, even if just adding the test case as a crash test, I cannot reproduce the crash with automated tests. Therefore, this patch doesn't include any automated tests. And this patch changes a crash test, 1402196.html, which expects that an inline editing host is split by execCommand("insertOrderedList"). However, this patch fixes this wrong behavior. Therefore, this patch changes the event target of event listener from <p> inside the editing host to the editing host itself. MozReview-Commit-ID: 8i5ci1fcrDd --HG-- extra : rebase_source : 572a7b22550a38ca71c954f62eefa695addd53c2 |
||
---|---|---|
.. | ||
composer | ||
libeditor | ||
reftests | ||
txmgr | ||
txtsvc | ||
AsyncSpellCheckTestHelper.jsm | ||
moz.build | ||
nsEditorCID.h | ||
nsIContentFilter.idl | ||
nsIDocumentStateListener.idl | ||
nsIEditActionListener.idl | ||
nsIEditor.idl | ||
nsIEditorMailSupport.idl | ||
nsIEditorObserver.idl | ||
nsIEditorSpellCheck.idl | ||
nsIEditorStyleSheets.idl | ||
nsIEditorUtils.idl | ||
nsIHTMLAbsPosEditor.idl | ||
nsIHTMLEditor.idl | ||
nsIHTMLInlineTableEditor.idl | ||
nsIHTMLObjectResizer.idl | ||
nsIPlaintextEditor.idl | ||
nsITableEditor.idl | ||
nsIURIRefObject.idl | ||
nsPIEditorTransaction.idl |