Open Bug 1624587 (editor-transaction-footprint) Opened 5 years ago Updated 10 days ago

[meta] Create new transaction classes which treat multiple nodes to save footprint of the undo transactions

Categories

(Core :: DOM: Editor, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: masayuki, Unassigned)

References

(Depends on 2 open bugs, Blocks 2 open bugs)

Details

(Keywords: meta)

Currently, editor module creates a transaction per node for insertion and deletion. However, this means that we waste both creating performance and footprint. For example, if you move all children of a node which have 100 children to another node, 100 DeleteNodeTransaction and InsertNodeTransaction instances are required.
https://searchfox.org/mozilla-central/rev/202a285024f174c2d2bf2152d9cba90a03723eab/editor/libeditor/EditorBase.cpp#2035,2053,2073
https://searchfox.org/mozilla-central/rev/202a285024f174c2d2bf2152d9cba90a03723eab/editor/libeditor/HTMLEditSubActionHandler.cpp#6215-6216,6239

Alias: editor-transaction-footprint
Keywords: meta
Summary: Create new transaction classes which treat multiple nodes → [meta] Create new transaction classes which treat multiple nodes
Severity: normal → S3
Summary: [meta] Create new transaction classes which treat multiple nodes → [meta] Create new transaction classes which treat multiple nodes to save footprint of the undo transactions

Well, now, all dependent bugs are closed, but I believe that this is still valid because in HTMLEditor, we may move consecutive nodes with one edit action, like moving first line to previous line at deletion. So, we still have better implementation idea.

Oh, there is a bug.

Depends on: 1815626
You need to log in before you can comment on or make changes to this bug.