Closed Bug 167115 Opened 23 years ago Closed 20 years ago

tree/listbox does't work with background styles (-image, -attachment) correctly

Categories

(Core Graveyard :: Skinability, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: alfredkayser, Assigned: bugs)

References

()

Details

Attachments

(2 files, 1 obsolete file)

If you define the style of a listbox or a tree (it goes for both of them) to have a background-image, and then scroll the listbox or when the listbox is updated (like in the folderpane of messenger), the background-image is not drawn/updated correctly. The screen is scrolled up/down but the background should stay. Either listbox/tree should not support background-image at all, or it should support it correctly.
skin mentioned for testing is now out of date... reporter (Alfred): can you reproduce this bug with a recent build of mozilla (for example, 1.2.1)? if so, please comment again with details. if not, please resolve this bug as WORKSFORME. thanks.
in userChrome.css put the following: window, dialog, wizard, page, popup, menupopup { background-image: url("ladybugfarm_1024.png") !important; } And then scroll the 'bookmark list' in the sidebar. This problem appears in most themes, but specifically the 'Bricks' theme at deskmod.org shows it painfully.
Problem re-verified and still exists in Mozilla Suite 2004012209: in userChrome.css put the following: tree { background-image: url("grain_08.jpg") !important; } And then scroll the 'bookmark list' or 'history' in the sidebar.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Also '-attachment' is not adhered to. When 'background-attachment: fixed' is set as a style for the tree or listbox, still the background is scrolled with the contents...
Summary: tree/listbox don't work with background-image style correctly → tree/listbox does't work with background styles (-image, -attachment) correctly
Attached patch Patch to mozilla\layout\xul\base (obsolete) — Splinter Review
This patch makes the 'tree' code to force a complete repaint if scrolling on transparent background or a background image. Further some little cleanup of an unused PRBool argument.
Attachment #142455 - Flags: review?(bzbarsky)
Comment on attachment 142455 [details] [diff] [review] Patch to mozilla\layout\xul\base I'm not qualified to review this code... at least not if you want a review any time soonish.... resetting request to someone who actually knows something about this file.
Attachment #142455 - Flags: review?(bzbarsky) → review?(varga)
Comment on attachment 142455 [details] [diff] [review] Patch to mozilla\layout\xul\base looks good r=varga
Attachment #142455 - Flags: review?(varga) → review+
Attachment #142455 - Flags: superreview?(bryner)
Attachment #142455 - Flags: superreview?(bryner)
Attached patch Updated versionSplinter Review
Moved the 'rowHeightAsPixels' calculation to the else branch. Also, only get the 'backgroundStyle' only once.
Attachment #142455 - Attachment is obsolete: true
Attachment #172257 - Flags: superreview?(bryner)
Attachment #172257 - Flags: superreview?(bryner) → superreview+
Checked in for alfredkayser - Checking in nsListBoxBodyFrame.cpp; /cvsroot/mozilla/layout/xul/base/src/nsListBoxBodyFrame.cpp,v <-- nsListBoxBodyFrame.cpp new revision: 1.48; previous revision: 1.47 done Checking in nsListBoxBodyFrame.h; /cvsroot/mozilla/layout/xul/base/src/nsListBoxBodyFrame.h,v <-- nsListBoxBodyFrame.h new revision: 1.14; previous revision: 1.13 done Checking in tree/src/nsTreeBodyFrame.cpp; /cvsroot/mozilla/layout/xul/base/src/tree/src/nsTreeBodyFrame.cpp,v <-- nsTreeBodyFrame.cpp new revision: 1.238; previous revision: 1.237 done
Marking fixed, as the scrolling of listboxes and trees now do work correctly! Thanks!
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Depends on: 310912
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: