Closed
Bug 526596
Opened 16 years ago
Closed 16 years ago
CSS outline is not coalesced in dynamic case
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: jruderman, Assigned: bzbarsky)
References
Details
(Keywords: testcase)
Attachments
(3 files, 1 obsolete file)
Based on layout/reftests/bugs/424236-5.html. Probably a regression.
Reporter | ||
Comment 1•16 years ago
|
||
Regressed between Linux x86_64 nightlies:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=736619af9701&tochange=00924c08d33d
Presumably bug 501847.
Blocks: 501847
![]() |
Assignee | |
Comment 3•16 years ago
|
||
Yes. The key part is that the two testcases have different frame trees.
I guess I can actually make this case (the trailing inline is empty and a block is the first thing appended) generate the same frame tree as the static case. Let me give that a shot.
![]() |
Assignee | |
Comment 4•16 years ago
|
||
Hmm. So here's a question about the continuation model. Is it possible to have an inline whose first continuation has no kids but which has some other continuation that does have kids?
![]() |
Assignee | |
Comment 5•16 years ago
|
||
Though I suspect that if that answer is "yes" some of our other append code might not be quite correct... so I hope it's actually "no".
I think the answer is "no".
![]() |
Assignee | |
Comment 7•16 years ago
|
||
Attachment #413782 -
Attachment is obsolete: true
Attachment #413791 -
Flags: review?(roc)
Attachment #413782 -
Flags: review?(roc)
![]() |
Assignee | |
Comment 8•16 years ago
|
||
Though I guess the other approach might be faster if we have lots of continuations for that trailing inline..... whichever one you like more?
Attachment #413791 -
Flags: review?(roc) → review+
Why didn't the outline merging code detect this case, anyway? Should it have? (Should we be fixing this bug in two different ways?)
![]() |
Assignee | |
Comment 10•16 years ago
|
||
Possibly. How should outline merging generally work for ib splits? Where do we merge outlines, in general?
I suppose the little unioning we do (which isn't nearly what we should) is in nsCSSRendering::PaintOutline, about 20 lines in.
![]() |
Assignee | |
Comment 12•16 years ago
|
||
Ah. That's not actual unioning; that's just drawing the outline around a different rect. It seems to me that we don't actually coalesce outlines in a sane way at all. Consider:
data:text/html,<!DOCTYPE html><span style="outline: 5px solid black">aaa<br>bbb</span>
![]() |
Assignee | |
Comment 13•16 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•