Since constructors of VisiblePosition and VisibleSelection require clean layout, these call sites following to update layout call.
To reduce number of update layout, we should reduce number of usage of VisiblePosition and VisibleSelection.
We can do:
- Revise implementation not use VP/VS
- Replace FrameSelection::setSelection(createVisibleSelection(S)) to FS::setSeleciton(S)
- Convert createVisibleSelection() other than taking SelectionTemplate to take SelectionTemplate.
Since constructors of VisiblePosition and VisibleSelection require clean layout, these call sites following to update layout call.
To reduce number of update layout, we should reduce number of usage of VisiblePosition and VisibleSelection.
We can do:
- Revise implementation not use VP/VS
- Replace FrameSelection::setSelection(createVisibleSelection(S)) to FS::setSeleciton(S)
- Convert createVisibleSelection() other than taking SelectionTemplate to take SelectionTemplate.
List of VisiblePosition usage other than editing:
https://goo.gl/W16Rax
Since constructors of VisiblePosition and VisibleSelection require clean layout, these call sites following to update layout call.
To reduce number of update layout, we should reduce number of usage of VisiblePosition and VisibleSelection.
We can do:
- Revise implementation not use VP/VS
- Replace FrameSelection::setSelection(createVisibleSelection(S)) to FS::setSeleciton(S)
- Convert createVisibleSelection() other than taking SelectionTemplate to take SelectionTemplate.
Since constructors of VisiblePosition and VisibleSelection require clean layout, these call sites following to update layout call.
To reduce number of update layout, we should reduce number of usage of VisiblePosition and VisibleSelection.
We can do:
- Revise implementation not use VP/VS
- Replace FrameSelection::setSelection(createVisibleSelection(S)) to FS::setSeleciton(S)
- Convert createVisibleSelection() other than taking SelectionTemplate to take SelectionTemplate.
Rough cleanup ideas for VisiblePosition: http://bit.ly/2zdSHfR
List of VisiblePosition usage other than in editing commands (as of Oct 29 2018): http://bit.ly/2OaWAHH