Opened 11 years ago

Closed 11 years ago

#2907 closed Bug (fixed)

V3: Make it possible to serialize range bookmark

Reported by: Frederico Caldeira Knabben Owned by: Frederico Caldeira Knabben
Priority: Normal Milestone: CKEditor 3.0
Component: General Version:
Keywords: Confirmed Review? Cc:

Description

The current bookmark implementation saves references to DOM nodes.

We have identified a number of cases where mutations need to be performed to range bookmark nodes, like cloning or innerHTML replacement. In such cases the node references present in the bookmark are not anymore valid, breaking it.

Just like we have in V2, we should have an option to save ID references when needed. They perform a bit slower, but give the flexibility we need for it.

Attachments (2)

2907.patch (3.4 KB) - added by Frederico Caldeira Knabben 11 years ago.
2907_2.patch (5.1 KB) - added by Martin Kou 11 years ago.

Download all attachments as: .zip

Change History (5)

Changed 11 years ago by Frederico Caldeira Knabben

Attachment: 2907.patch added

comment:1 Changed 11 years ago by Frederico Caldeira Knabben

Keywords: Review? added
Status: newassigned

Changed 11 years ago by Martin Kou

Attachment: 2907_2.patch added

comment:2 Changed 11 years ago by Martin Kou

The changes to CKEDITOR.dom makes sense.

But to make serialize-able bookmarks usable by plugins, the changes would have to be propagated upwards to the selection plugin. And of course, the plugins needing it themselves.

Proposing a patch with additional changes to make serialize-able bookmarks usable by indent and list plugins.

comment:3 Changed 11 years ago by Frederico Caldeira Knabben

Resolution: fixed
Status: assignedclosed

Martin, I suppose I got a Review+ for the code I've proposed with the first patch so. As your additions look good, I'm committing it.

Fixed with [3059]. Click here for more info about our SVN system.

Note: See TracTickets for help on using tickets.
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy