Closed Bug 597927 Opened 14 years ago Closed 14 years ago

border-radius doesn't properly clip the corners of a child that scrolls

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME
Tracking Status
blocking2.0 --- -

People

(Reporter: Unfocused, Unassigned)

References

Details

When an element has a border-radius, and has a child element that scrolls, the corners of that child element aren't clipped. Instead, the corners cover up the rounded part of its parent's border. See bug 595656 and its screenshot (https://bugzilla.mozilla.org/attachment.cgi?id=474530) for an example of this.
Note: also happens when the child is a xul:browser element, ragardless of whether it has a scroll box or not.
blocking2.0: --- → ?
It's supposed to do this if the element with 'border-radius' has 'overflow'!='visible'. Does setting overflow:hidden fix this?
Version: unspecified → Trunk
Somewhere between worksforme and invalid, I think. (But please do respond if comment 2 doesn't fix it.)
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → WORKSFORME
Setting overflow:hidden does not fix it. Could this be a problem because it is an XUL deck?
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Seems like the deck frame construction is SIMPLE_XUL_INT_CREATE rather than SCROLLABLE_XUL_INT_CREATE. Deck is pretty similar to stack, though, which is scrollable. Does 'overflow: hidden' solve your problem if, in nsCSSFrameConstructor::FindXULDisplayData (in layout/base/nsCSSFrameConstructor.cpp), you change SIMPLE_XUL_INT_CREATE to SCROLLABLE_XUL_INT_CREATE for the line with NS_NewDeckFrame in it?
(In reply to comment #5) > Seems like the deck frame construction is SIMPLE_XUL_INT_CREATE rather than > SCROLLABLE_XUL_INT_CREATE. Deck is pretty similar to stack, though, which is > scrollable. > > Does 'overflow: hidden' solve your problem if, in > nsCSSFrameConstructor::FindXULDisplayData (in > layout/base/nsCSSFrameConstructor.cpp), you change SIMPLE_XUL_INT_CREATE to > SCROLLABLE_XUL_INT_CREATE for the line with NS_NewDeckFrame in it? That does work (though it breaks the deck's operation). However you've clued me into an alternative solution. I can just wrap the deck in a <box> and put the borders on that which works because boxes are constructed with SCROLLABLE_XUL_INT_CREATE. So I don't think this is going to be necessary now.
Status: REOPENED → RESOLVED
blocking2.0: ? → -
Closed: 14 years ago14 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.