gecko-dev/editor/libeditor
Masayuki Nakano c06378ebc9 Bug 1413181 - part 13: HTMLEditRules::MaybeSplitAncestorsForInsert() should be able to return a DOM point in text node r=m_kato
HTMLEditRules::MaybeSplitAncestorsForInsert() may be called with a point in a
text and it needs to return given split point as is.  Additionally, the given
point may be in a text node.  So, it may not be represented with an
nsCOMPtr<nsIContent>.

Therefore, we need to add new member, EditorDOMPoint, to SplitNodeResult and
when MaybeSplitAncestorsForInsert() needs to return the given point as is,
it should use it.

Note that if the methods which return SplitNodeResult split some nodes actually,
the left node and/or the right node may be removed from the DOM tree.  In this
case, EditorDOMPoint cannot store such orphan node.  Therefore, we cannot
make mNextNode nor mPreviousNode EditorDOMPoint.

MozReview-Commit-ID: LwH8RZzkrmT

--HG--
extra : rebase_source : a5ae2328bef3d887c0bf4e1b9c4a4247b93a4ac0
2017-11-19 11:05:26 +09:00
..
crashtests Bug 1415231 - Add crash tests for a regression of bug 1406482 which has been fixed by bug 1415509 r=m_kato 2017-11-10 10:58:33 +09:00
tests Bug 748315 - Part 5. Update browserscope test result. r=masayuki 2017-10-25 16:13:10 +09:00
ChangeAttributeTransaction.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
ChangeAttributeTransaction.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
ChangeStyleTransaction.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
ChangeStyleTransaction.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
CompositionTransaction.cpp Bug 1393355 - Move SetTextRangeStyle from nsISelectionPrivate to Selection. r=masayuki 2017-08-24 16:56:12 +09:00
CompositionTransaction.h Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
CreateElementTransaction.cpp Bug 1415445 - part 1: CreateElementTransaction should use EditorRawDOMPoint and RangeBoundary r=m_kato 2017-11-08 16:49:06 +09:00
CreateElementTransaction.h Bug 1415445 - part 1: CreateElementTransaction should use EditorRawDOMPoint and RangeBoundary r=m_kato 2017-11-08 16:49:06 +09:00
CSSEditUtils.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
CSSEditUtils.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
DeleteNodeTransaction.cpp Bug 1372859 - Remove SelAdj* method of nsIDOM* version from RangeUpdater. r=masayuki 2017-06-14 19:34:38 +09:00
DeleteNodeTransaction.h Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
DeleteRangeTransaction.cpp Bug 1415414 - Make DeleteRangeTransaction::CreateTxnsToDeleteBetween() and DeleteRangeTransaction::CreateTxnsToDeleteContent() use RawRangeBoundary as their arguments r=m_kato 2017-11-08 15:01:23 +09:00
DeleteRangeTransaction.h Bug 1415414 - Make DeleteRangeTransaction::CreateTxnsToDeleteBetween() and DeleteRangeTransaction::CreateTxnsToDeleteContent() use RawRangeBoundary as their arguments r=m_kato 2017-11-08 15:01:23 +09:00
DeleteTextTransaction.cpp Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
DeleteTextTransaction.h Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
EditActionListener.h
EditAggregateTransaction.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
EditAggregateTransaction.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
EditorBase.cpp Bug 1413181 - part 10: Redesign EditorBase::SplitNodeDeep() r=m_kato 2017-11-16 12:09:57 +09:00
EditorBase.h Bug 1413181 - part 10: Redesign EditorBase::SplitNodeDeep() r=m_kato 2017-11-16 12:09:57 +09:00
EditorCommands.cpp Bug 1319340 - part8: EditorCommands should use TextEditor instead of nsIEditor, nsIPlaintextEditor and nsIEditorMailSupport r=m_kato 2017-08-04 20:41:20 +09:00
EditorCommands.h
EditorController.cpp
EditorController.h
EditorDOMPoint.h Bug 1413181 - part 11: Create AutoEditorDOMPointOffsetInvalidator stack class for automatically invalidate offset of EditorDOMPoint r=m_kato 2017-11-17 17:00:56 +09:00
EditorEventListener.cpp Bug 1411612: Kill nsINode::eCONTENT. r=bz 2017-10-25 17:19:11 +02:00
EditorEventListener.h
EditorUtils.cpp Bug 1414713 - EditorUtils::IsDescendantOf() should take EditorDOMPoint and EditorRawDOMPoint as out param r=catalinb,m_kato 2017-11-06 17:01:33 +09:00
EditorUtils.h Bug 1413181 - part 13: HTMLEditRules::MaybeSplitAncestorsForInsert() should be able to return a DOM point in text node r=m_kato 2017-11-19 11:05:26 +09:00
EditorUtils.js
EditorUtils.manifest
EditTransactionBase.cpp
EditTransactionBase.h
HTMLAbsPositionEditor.cpp Bug 1380292 - Don't turn on object resizer, inline table editor and etc when element isn't into editor. r=masayuki 2017-09-09 10:49:02 -04:00
HTMLAnonymousNodeEditor.cpp Bug 1407924 - Avoid conversion from nsAtom to string if possible. r=masayuki 2017-10-12 16:28:28 +09:00
HTMLEditor.cpp Bug 1413181 - part 10: Redesign EditorBase::SplitNodeDeep() r=m_kato 2017-11-16 12:09:57 +09:00
HTMLEditor.h Bug 1413181 - part 6: Rename mozilla::EditorBase::EmptyContainers enum class to mozilla::SplitAtEdges for making its values clearer r=m_kato 2017-11-13 14:35:16 +09:00
HTMLEditorDataTransfer.cpp Bug 1413181 - part 10: Redesign EditorBase::SplitNodeDeep() r=m_kato 2017-11-16 12:09:57 +09:00
HTMLEditorEventListener.cpp Bug 1391978 - Part 1. Replace nsISelection::GetRangeCount with Selection::RangeCount. r=masayuki 2017-08-28 14:52:25 +09:00
HTMLEditorEventListener.h Bug 1387317 - part2: EditorEventListener should stop using interface methods as far as possible r=m_kato 2017-08-08 11:25:36 +09:00
HTMLEditorObjectResizer.cpp Bug 1408767 - HTMLEditor::MouseMove: Remove two unused variables r=m_kato 2017-10-15 19:32:43 +02:00
HTMLEditorObjectResizerUtils.h Bug 1374207 - part3: Editor classes should use concrete classes instead of nsI*Editor r=m_kato 2017-06-22 15:02:59 +09:00
HTMLEditRules.cpp Bug 1413181 - part 13: HTMLEditRules::MaybeSplitAncestorsForInsert() should be able to return a DOM point in text node r=m_kato 2017-11-19 11:05:26 +09:00
HTMLEditRules.h Bug 1413181 - part 12: Redesign and rename HTMLEditRules::SplitAsNeeded() r=m_kato 2017-11-17 16:03:11 +09:00
HTMLEditUtils.cpp Bug 1411687 - part 2: Rewrite the check to insert a <br> element in HTMLEditRules::WillInsertBreak() r=m_kato 2017-10-27 01:27:44 +09:00
HTMLEditUtils.h Bug 1411687 - part 2: Rewrite the check to insert a <br> element in HTMLEditRules::WillInsertBreak() r=m_kato 2017-10-27 01:27:44 +09:00
HTMLInlineTableEditor.cpp Bug 1380292 - Don't turn on object resizer, inline table editor and etc when element isn't into editor. r=masayuki 2017-09-09 10:49:02 -04:00
HTMLStyleEditor.cpp Bug 1413181 - part 10: Redesign EditorBase::SplitNodeDeep() r=m_kato 2017-11-16 12:09:57 +09:00
HTMLTableEditor.cpp Bug 1415062 - part 2: Editor should use Selection::Collapse(const RawRangeBoundary&) as far as possible r=m_kato 2017-11-07 19:50:25 +09:00
HTMLURIRefObject.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
HTMLURIRefObject.h
InsertNodeTransaction.cpp Bug 1413253. Make sure to make it clear that we'd report a JS exception on the ErrorResult in InsertNodeTransaction::DoTransaction. r=peterv 2017-11-07 15:36:41 -05:00
InsertNodeTransaction.h Backed out changeset d59889304b3f (bug 1408125) for asserting in clipboard test editor/libeditor/tests/test_bug1306532.html. r=backout on a CLOSED TREE 2017-10-14 00:05:15 +02:00
InsertTextTransaction.cpp Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
InsertTextTransaction.h Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
InternetCiter.cpp
InternetCiter.h
JoinNodeTransaction.cpp Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
JoinNodeTransaction.h Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
ManualNAC.h Bug 1386110 - Use a smart pointer to reliably de-register NAC regardless of how it goes away. r=masayuki 2017-08-03 20:26:11 -07:00
moz.build Bug 1408544 - part 1: Reimplement EditorDOMPoint as a subclass of RangeBoundary r=catalinb,m_kato 2017-11-01 14:41:03 +09:00
nsIAbsorbingTransaction.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
nsIEditRules.h Bug 1360154 - Part 1. DocumentIsBody should return bool, not nsresult. r=masayuki 2017-05-11 14:03:26 +09:00
PlaceholderTransaction.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
PlaceholderTransaction.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
SelectionState.cpp Bug 1413181 - part 3: EditorBase::CreateTxnForSplitNode() and EditorBase::SplitNode() should take EditorRawDOMPoint to specify the start of right node r=m_kato 2017-11-12 11:30:30 +09:00
SelectionState.h Bug 1413181 - part 3: EditorBase::CreateTxnForSplitNode() and EditorBase::SplitNode() should take EditorRawDOMPoint to specify the start of right node r=m_kato 2017-11-12 11:30:30 +09:00
SplitNodeTransaction.cpp Bug 1413181 - part 2: SplitNodeTransaction should store start of existing right node with RangeBoundary r=m_kato 2017-11-12 09:27:19 +09:00
SplitNodeTransaction.h Bug 1413181 - part 2: SplitNodeTransaction should store start of existing right node with RangeBoundary r=m_kato 2017-11-12 09:27:19 +09:00
StyleSheetTransactions.cpp Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
StyleSheetTransactions.h Bug 1349138 Edit transactions should store their editor instance with strong reference r=smaug 2017-03-21 19:00:36 +09:00
TextEditor.cpp Bug 1413181 - part 3: EditorBase::CreateTxnForSplitNode() and EditorBase::SplitNode() should take EditorRawDOMPoint to specify the start of right node r=m_kato 2017-11-12 11:30:30 +09:00
TextEditor.h Backed out changeset febed94fa592 (bug 1408227) for asserting at editor/libeditor/EditorBase.cpp:2513 during execution of web-platform-test /editing/run/inserttext.html. r=backout on a CLOSED TREE 2017-10-13 19:48:22 +02:00
TextEditorDataTransfer.cpp Bug 1391978 - Part 1. Replace nsISelection::GetRangeCount with Selection::RangeCount. r=masayuki 2017-08-28 14:52:25 +09:00
TextEditorTest.cpp Bug 1391978 - Part 9. Replace nsISelection::GetAnchorNode with Selection::GetAnchorNode. r=masayuki 2017-08-25 16:12:39 +09:00
TextEditorTest.h
TextEditRules.cpp Bug 1415509 - part 2: EditorBase::InsertTextImpl() should take |const EditorRawDOMPoint&| argument as input and |EditorRawDOMPoint*| as out argument instead of a set of container, child and offset of the child in the container as in/out argument r=m_kato 2017-11-09 01:00:36 +09:00
TextEditRules.h Bug 1390402, add a faster variant of TextEditor::GetDocumentIsEmpty(), r=masayuki 2017-08-24 13:53:34 +03:00
TextEditRulesBidi.cpp
TextEditUtils.cpp
TextEditUtils.h
TypeInState.cpp Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
TypeInState.h Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
WSRunObject.cpp Bug 1415509 - part 3: WSRunObject::InsertText() should take |const EditorRawDOMPoint&| as input argument and |EditorRawDOMPoint*| as out argument instead of a set of container, child and offset of the child in the container as in/out argument r=m_kato 2017-11-09 13:24:06 +09:00
WSRunObject.h Bug 1415509 - part 3: WSRunObject::InsertText() should take |const EditorRawDOMPoint&| as input argument and |EditorRawDOMPoint*| as out argument instead of a set of container, child and offset of the child in the container as in/out argument r=m_kato 2017-11-09 13:24:06 +09:00