Closed
Bug 480053
Opened 16 years ago
Closed 16 years ago
Fix z-ordering of scrollbars to match Webkit/IE8
Categories
(Core :: Layout, defect)
Core
Layout
Tracking
()
RESOLVED
FIXED
People
(Reporter: roc, Assigned: roc)
Details
Attachments
(1 file)
|
3.94 KB,
patch
|
dbaron
:
review+
dbaron
:
superreview+
|
Details | Diff | Splinter Review |
We render scrollbars in the 'content' layer (roughly, step 7 of http://www.w3.org/TR/CSS21/zindex.html ). Webkit, IE8 and Opera render them just above the background and borders of the scrollable element. This isn't specced but it's trivial for us to change so we may as well be consistent with the others.
Does this affect the z-ordering relative to anything inside the scrolled element?
| Assignee | ||
Comment 3•16 years ago
|
||
The contents of the scrolled element are all clipped and can't overlap the scrollbars, except for possibly absolutely positioned descendants. But (assuming the scrolled element is not an abs-pos container) the scrollbars are currently in front of negative z-index abs-pos descendants and behind all other abs-pos descendants, and that won't change with this patch.
So, er, now that I look at this patch more closely... shouldn't it still do the pseudo-stacking-context thing, except for the background layer? It seems like the patch as written will mean that non-native-theme scrollbars (which we probably still hit in some cases in the default theme and broken GTK themes, and certainly with some non-default Firefox themes) will actually end up *split* between layers, which seems bad.
(Did you test what happens if you turn off native theme?)
| Assignee | ||
Comment 5•16 years ago
|
||
No, I didn't test that. But all the scrollbars that we have in our tree, and all their parts, use only -moz-appearance, backgrounds, and borders, so they shouldn't be affected.
The pseudo-stacking-context stuff breaks the layering here, because pseudo-stacking-contexts are put in the PositionedDescendants list. I could fix this to handle arbitrary scrollbar styling by passing DISPLAY_CHILD_FORCE_STACKING_CONTEXT and passing in a fresh nsDisplayListCollection, then moving the items from the PositionedDescendants list to the scrollframe's BorderBackground list. Worth it?
Comment on attachment 363996 [details] [diff] [review]
fix
I guess not. r=dbaron
(I'd have thought the arrows would go in the inline layer, though.)
Attachment #363996 -
Flags: superreview+
Attachment #363996 -
Flags: review?(dbaron)
Attachment #363996 -
Flags: review+
| Assignee | ||
Comment 7•16 years ago
|
||
Not as far as I can tell.
| Assignee | ||
Updated•16 years ago
|
Whiteboard: [needs landing]
Comment 8•16 years ago
|
||
Pushed 1f789656458f.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Whiteboard: [needs landing]
| Assignee | ||
Updated•16 years ago
|
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•