Closed Bug 873010 Opened 7 years ago Closed 7 years ago

Artifacts around small overlay scrollbars in select boxes

Categories

(Core :: Widget: Cocoa, defect)

All
macOS
defect
Not set

Tracking

()

VERIFIED FIXED
mozilla24
Tracking Status
firefox21 --- unaffected
firefox22 --- unaffected
firefox23 + verified
firefox24 --- verified
firefox-esr17 --- unaffected

People

(Reporter: mstange, Assigned: areinald.bug)

References

Details

(Whiteboard: [lion-scrollbars+])

Attachments

(1 file, 1 obsolete file)

Attached patch wip (obsolete) — Splinter Review
Testcase: The "Projects" list box on https://bugreports.qt-project.org/secure/IssueNavigator.jspa

This is a scrollbar in a <select> list box, which is marked as small, which returns kSmallScrollbarThumbMinSize for the thumb's GetMinimumWidgetSize. But overlay scrollbars draw the thumb at least 26 pixels long, so the drawing doesn't hit the layout box, so the invalidations are off.

Here's a patch that fixes the minsize and tweaks scrollbar metrics for small scrollbars.
I'm not sure what is wrong with the <select> list boxes from that page, to spohl and me their behavior looked fine. Can you please confirm us what's wrong?
Flags: needinfo?(mstange)
Sorry, that was a very rushed bug report.

I see the artifacts in this nightly on 10.8.3:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20130518 Firefox/24.0

Video: http://dl.dropboxusercontent.com/u/2901861/Screenshots/smallscrollbarsartifacts.webm

An alternative testcase is the Component listbox on https://bugzilla.mozilla.org/enter_bug.cgi?product=Core
Flags: needinfo?(mstange)
With similar systems (my Nightly is one day newer only) we can't reproduce the bug. Both of us have MBPs Retina. Could the HiDPI screen make a difference ? Maybe we find an external LoDPI monitor to connect at office tomorrow so we can check.
Good call, that's the reason. I've just tested in HiDPI mode and don't see the bug there.
Comment on attachment 750398 [details] [diff] [review]
wip

The only part from this patch which is actually required to fix this bug is this:
-static const int32_t kSmallScrollbarThumbMinSize = 19;
+static const int32_t kSmallScrollbarThumbMinSize = 26;
(It also needs a test fix in widget/tests/test_bug485118.xul.)

Making small scrollbars actually look smaller than regular ones should happen in a different bug.

I'm not sure if we really should set kSmallScrollbarThumbMinSize to 26 unconditionally. For 10.6-style scrollbars and HiDPI 10.7-style scrollbars, 19 seems to work fine, so maybe we should differentiate between these cases. But it's probably not worth it.
Attachment #750398 - Attachment is obsolete: true
As per Markus suggestions, this small change is enough to fix the artifacts.

Opened bug 874570 as a follow-up for the appearance change.
Attachment #752325 - Flags: review?(mstange)
Attachment #752325 - Attachment is patch: true
Attachment #752325 - Attachment mime type: text/x-patch → text/plain
Attachment #752325 - Flags: review?(mstange) → review+
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/ff126a7cf2ca
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
Comment on attachment 752325 [details] [diff] [review]
Change kSmallScrollbarThumbMinSize to 26

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Bug 636564
User impact if declined: Artifacts around small overlay scrollbars in select boxes
Testing completed (on m-c, etc.): Has been on m-c for several days and testing shows that this is fixed.
Risk to taking this patch (and alternatives if risky): minor
String or IDL/UUID changes made by this patch: none
Attachment #752325 - Flags: approval-mozilla-aurora?
Attachment #752325 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Requesting checkin for aurora.
Keywords: checkin-needed
Can you please provide detail steps to test this? So, I can verify this on FX 23 and 24.
Flags: needinfo?(mstange)
STR:
1. Disable HiDPI mode in about:config by setting gfx.hidpi.enabled to 0.
2. Restart browser.
3. Go to https://bugzilla.mozilla.org/enter_bug.cgi?product=Core
4. Scroll vertically in the "Component" or "Version" list box.

Expected:
No artifacts like the ones shown in this screencast:
http://dl.dropboxusercontent.com/u/2901861/Screenshots/smallscrollbarsartifacts.webm

The scrollbars should display normally.
Flags: needinfo?(mstange)
(In reply to Stephen Pohl [:spohl] from comment #13)
> STR:
> 1. Disable HiDPI mode in about:config by setting gfx.hidpi.enabled to 0.

Does this require a Retina Mac?
(In reply to Anthony Hughes, Mozilla QA (:ashughes) from comment #14)
> (In reply to Stephen Pohl [:spohl] from comment #13)
> > STR:
> > 1. Disable HiDPI mode in about:config by setting gfx.hidpi.enabled to 0.
> 
> Does this require a Retina Mac?

No. A non-retina Mac or a Mac with HiDPI turned off in about:config will do.
User Agent :Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 
Firefox/23.0
Build ID: 20130711122148

Tested on Firefox 23 B5 on MAC 10.8 OS, The scrollbars display normally.

User Agent :Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20130712 Firefox/24.0
Build ID: 20130712004003

Tested using Firefox 24 latest Aurora on MAC 10.8 OS, The scrollbars display normally.
Status: RESOLVED → VERIFIED
User Agent : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 Firefox/23.0
Build ID: 20130715155216

User Agent : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:25.0) Gecko/20130718 Firefox/25.0
Build ID: 20130718030201

User Agent : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20130718 Firefox/24.0
Build ID:  20130718004004

Tested this on latest nightly, Aurora and FX 23 B6 release. I am getting expected result for all above builds. I don't see any issues of scrollbars in select boxes.
You need to log in before you can comment on or make changes to this bug.