Ticket #3352 (closed Bug: fixed)
Enhance domIterator plugin
| Reported by: | garry.yao | Owned by: | garry.yao |
|---|---|---|---|
| Priority: | High | Milestone: | CKEditor 3.0 |
| Component: | General | Version: | |
| Keywords: | Confirmed Review+ | Cc: |
Description
Certain utility methods( L15-L60 ) of the plugin are not updated with the current trunk codes, which should be refacted.
Attachments
Change History
comment:1 Changed 4 years ago by garry.yao
- Keywords Review? added
- Status changed from new to assigned
Besides update to current APIs within the chunk, the patch also fix the next source node logic to ignore bookmark nodes which been identified at #3141.
comment:3 Changed 4 years ago by fredck
- Keywords Review- added; Review? removed
The only problem I can find here is that at line 235 we were using a variable to indicate whether or not to continue from the next sibling (continueFromSibling), and the patch is instead forcing it to true always. For the rest, it looks ok.
comment:4 Changed 4 years ago by garry.yao
- Keywords Review? added; Review- removed
Fix the above mentioned issue.
comment:5 follow-up: ↓ 6 Changed 4 years ago by fredck
- Keywords Review- added; Review? removed
The above case is broken after the patch:
- Select two paragraphs.
- Apply blockquote, or a list.
It's applied for the first line only.
comment:6 in reply to: ↑ 5 Changed 4 years ago by garry.yao
Replying to fredck: The bug was due to when invoking 'CKEDITOR.dom.range::getTouchedStart/EndNode' on the following content:
<p id="p1">pa^ra1</p> <p id="p2">pa^ra2</p>
The result( touchedStart: p1, touchedEnd: p2 ) will exclude p2 from been iterated over, here it's safely to use 'CKEDITOR.dom.range::getBoundaryNodes' since the range is almost never collapsed.
I'm attaching a new patch regard this and including the necessary TCs also.
comment:10 Changed 4 years ago by garry.yao
- Status changed from assigned to closed
- Resolution set to fixed
