Opened 16 years ago
Closed 15 years ago
#3051 closed Bug (fixed)
Domiterator incorrect with enforceRealBlock
Reported by: | Garry Yao | Owned by: | Garry Yao |
---|---|---|---|
Priority: | Normal | Milestone: | CKEditor 3.1 |
Component: | General | Version: | 3.0 Beta 2 |
Keywords: | Confirmed | Cc: |
Description (last modified by )
When domiterator establish new block for one of the pseudo blocks, others should be left untouched, which is currently not respected.
Procedures
- Open the replace by code example page;
- Make the following content with selection:
<div> first <p>paragraph</p>se^cond</div>
- Click on Increase Indent command.
- Actual Result : A new paragraph is establish for text node 'first' and is indented also.
<div> <p style="margin-left: 40px;"> first</p> <p> paragraph</p> <p style="margin-left: 40px;"> second</p> </div>
- Expected Result : The pseudo block contains text 'first' should be left untouched while the 'second' chunk should be indented.
<div> first <p> paragraph</p> <p style="margin-left: 40px;"> second</p> </div>
Attachments (3)
Change History (18)
comment:1 Changed 16 years ago by
Description: | modified (diff) |
---|---|
Summary: | RangeIterator not correct with enforcing real blocks → Domiterator incorrect with enforceRealBlock |
Changed 16 years ago by
Attachment: | test-domiterator.patch added |
---|
comment:2 Changed 16 years ago by
Description: | modified (diff) |
---|---|
Keywords: | Confirmed added |
comment:3 Changed 16 years ago by
Priority: | Normal → High |
---|
comment:4 Changed 16 years ago by
Owner: | set to Garry Yao |
---|---|
Status: | new → assigned |
Changed 16 years ago by
Attachment: | 3051.patch added |
---|
comment:5 Changed 16 years ago by
Keywords: | Review? added |
---|
The patch is mainly about fixing on anonymous block iteration problem, while also introduce a fix to collapsed range boundaries. TCs established for those issues are also in the patch.
comment:6 Changed 16 years ago by
Keywords: | Review- added; Review? removed |
---|
This patch is breaking the getNextSourceNode and getPreviousSourceNode function. If startFromSibling is set to true, it must not in any way take one of the node children as the first node. That's why we have that parameter after all. So it's wrong to default it to the first child. If we have nothing after it, it's correct to have the function returning null.
comment:7 Changed 16 years ago by
Priority: | High → Normal |
---|
comment:9 Changed 16 years ago by
As discussed no #3203, the getNextSourceNode/getPreviousNode function should not suffer changes, so other implementation should be found to work around this issue.
Changed 16 years ago by
Attachment: | 3051_2.patch added |
---|
comment:10 Changed 16 years ago by
Keywords: | Review? added; Review- removed |
---|
The patch is containing the latest patch from #3313 for easy reviewing.
comment:11 Changed 16 years ago by
The patch updated CKEDITOR.dom.range.enlarge method to reflect the newly introduced walker and fixing the bug on collapsed range; As discovered on #3292, we should not rely on CKEDITOR.dom.range.getBoundaryNodes for collapsed range, the patch instead use temporary bookmark to establish the boundary nodes to simplify codes.
comment:12 Changed 16 years ago by
Milestone: | CKEditor 3.0 → CKEditor 3.1 |
---|
comment:14 Changed 16 years ago by
Version: | SVN (FCKeditor) → CKEditor 3.0 Beta 2 |
---|
comment:15 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Unable to reproduce anymore on trunk.
Unit Test Case