Opened 11 years ago
Closed 11 years ago
#11980 closed Bug (fixed)
[Blink/Webkit] Span elements created while joining adjacent elements (non-collapsed selection)
Reported by: | Olek Nowodziński | Owned by: | Olek Nowodziński |
---|---|---|---|
Priority: | Normal | Milestone: | CKEditor 4.4.2 |
Component: | General | Version: | 3.0 |
Keywords: | Webkit Blink | Cc: |
Change History (7)
comment:1 Changed 11 years ago by
Owner: | set to Olek Nowodziński |
---|---|
Status: | new → assigned |
comment:2 Changed 11 years ago by
comment:3 Changed 11 years ago by
Status: | assigned → review |
---|
Pushed fix to branch:t/11980 (+tests).
It brings support for most of the cases except tables, which, due to problems with range.deleteContents()
, cannot be handled yet. I don't think it's a real issue though because users usually don't create selections anchored in two tables, paragraph and a table etc.
This branch also brings some major refactoring and code clean-up to existing delbackspacequirks tests.
comment:4 Changed 11 years ago by
Status: | review → review_failed |
---|
I pushed additional commits which refactored the dev code. That by mistake fixed behaviour of the implementation which started correctly placing selection at boundaries of inline elements. It's also related to #11999. Basically, the selection at inline element boundary is being incorrectly normalised by Webkit and is not by Blink any more.
I also noticed one thing - some tests are wrong, because on Blink/Webkit it's not possible to manually place caret at beginning of inline element (<strong>^foo</strong>
) but it's possible to place it at the end: <strong>bar^</strong>
.
Perhaps this is the reason why some tests fails on old Blink and Webkit - because they place selection at the beginning of inline elements and only new Blink retain this position. Other engines normalize position and hence final position is different too.
So I think that we could ignore these tests. At some point Webkit will be fixed too, but for now we're testing unrealistic case just for sake of validating the implementation.
comment:5 Changed 11 years ago by
Status: | review_failed → review |
---|
I added failing tests to regressions.js
. As for Opera, we might accept failures because it will get updated soon to the same engine as Chrome 35 (hopefully).
comment:6 Changed 11 years ago by
Status: | review → review_passed |
---|
comment:7 Changed 11 years ago by
Resolution: | → fixed |
---|---|
Status: | review_passed → closed |
git:a0510b6 landed in master (de1da25 tests).
cc