Closed Bug 1414710 Opened 7 years ago Closed 7 years ago

editor methods which return child at offset should use RangeBoundary instead of a set of container node, offset and child node

Categories

(Core :: DOM: Editor, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox58 --- affected

People

(Reporter: masayuki, Assigned: masayuki)

References

Details

Such methods may still have regressions and really error prone because of difficult to keep syncing container/offset and child node. We should use EditorDOMPoint which starts to sync these information automatically since bug 1408544. (And maybe this bug needs to change something of RangeBoundaryBase in this bug.)
EditorBase::FindBetterInsertionPoint(), EditorBase::InsertTextImpl(), WSRunObject::InsertText() (bug 1406482)
EditorBase::GetPriorNode(), EditorBase::GetNextNode(), HTMLEditor::GetPriorHTMLNode(), HTMLEditor::GetNextHTMLNode() (bug 1407305)
DeleteRangeTransaction::CreateTxnsToDeleteBetween() (bug 1407352)
EditorBase::SplitNodeDeep(), HTMLEditor::InsertNodeAtPoint() (bug 1407447)
CreateElementTransaction::CreateElementTransaction(), EditorBase::CreateTxnForCreateElement(), 
EditorBase::CreateNode() (bug 1407854)
InsertNodeTransaction::InsertNodeTransaction(), EditorBase::CreateTxnForInsertNode(), EditorBase::InsertNode() (bug 1408125)
No longer blocks: 1408125
Now, all methods which touched by Ehsan to reduce nsINode::IndexOf() calls are now redesigned with Editor(Raw)DOMPoint. This could increase some other cost like creating temporary object, validation, etc, but ideally we will be get rid of nsINode::IndexOf() calls after refactoring editor with Editor(Raw)DOMPoint more.
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.