Closed Bug 1451792 Opened 3 years ago Closed 3 years ago

GTK scrollbars have become wider with an unclickable deadzone

Categories

(Core :: Widget: Gtk, defect)

60 Branch
Unspecified
Linux
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1355143
Tracking Status
firefox59 --- unaffected
firefox60 --- fixed
firefox61 --- fixed

People

(Reporter: ke5trel, Assigned: stransky)

References

Details

(Keywords: regression)

Attachments

(1 file)

Attached image oversized-scrollbar.png
Scrollbars have become oversized and padded with an unclickable area since Bug 1433092 landed. This area is also transparent which can make the thumb appear floating and disjointed when overlaying other content.

Regression window:

https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=1b30f674e78eef2a0b1aa0bb5bca82588811eac3&tochange=360486fecfe873af2dddb3163e5e85e62b5805c6
Flags: needinfo?(stransky)
Hm, that's interesting, did I break scroll bar metrics somehow? Which distro/theme do you run please?
Assignee: nobody → stransky
Flags: needinfo?(stransky) → needinfo?(ke5trel)
Vanilla Ubuntu 17.10; GTK 3.22.25, default Ambiance theme.
Flags: needinfo?(ke5trel)
I did a test build and narrowed it down to the change in moz_gtk_add_style_margin(), previously it used GTK_STATE_FLAG_NORMAL and now it gets the state which returns GTK_STATE_FLAG_DIR_LTR.
(In reply to Kestrel from comment #3)
> I did a test build and narrowed it down to the change in
> moz_gtk_add_style_margin(), previously it used GTK_STATE_FLAG_NORMAL and now
> it gets the state which returns GTK_STATE_FLAG_DIR_LTR.

Interesting, Thanks!
This is actually a dupe of Bug 1355143. There's a margin added to the track which causes this issue.
It was not visible before Bug 1433092 because horizontal scrollbars have defined:

.scrollbar.vertical:dir(ltr):not(:hover):not(.dragging),
scrollbar.vertical:dir(ltr):not(:hover):not(.dragging) {
    margin-left: 7px;
}

.scrollbar.vertical:dir(rtl):not(:hover):not(.dragging),
scrollbar.vertical:dir(rtl):not(:hover):not(.dragging) {
    margin-right: 7px;
}

And we (wrongly) does not used the 'dir(rtl)' state to query scrollbar metrics.

It's also a reason why Bug 1355143 is visible because the Ambiance theme does not define direction for horizontal scrollbar:

.scrollbar.horizontal:not(:hover):not(.dragging),
scrollbar.horizontal:not(:hover):not(.dragging) {
    margin-top: 7px;
}
Another thing to note is that the Snap package version of Firefox has these scrollbar margins (even before Bug 1433092) but they are not deadzones, the scrollbar thumb expands to fill the margin and is fully interactive. This behavior seems preferable given that there are several bugs reported on Launchpad complaining that scrollbars are currently too narrow and difficult to use.

https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1675496
Can you point me to the fixed Firefox package (snap you say?) you're referring to?
Flags: needinfo?(ke5trel)
Snap package is Bug 1297513.

> sudo snap install firefox
> snap run firefox

Current stable 59 version has auto-expanding scrollbars on hover.
Flags: needinfo?(ke5trel)
(In reply to Kestrel from comment #8)
> Snap package is Bug 1297513.
> 
> > sudo snap install firefox
> > snap run firefox
> 
> Current stable 59 version has auto-expanding scrollbars on hover.

Is that some Ubuntu specific patch? I don't see that in official Mozilla Firefox. Is the patch available somewhere?
Flags: needinfo?(ke5trel)
Anyway, let's fix that at Bug 1355143.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1355143
Snaps are sandboxed and don't have access to the system theme, the Snap core provides a Ubuntu theme of its own which may explain the scrollbar discrepancy.

https://forum.snapcraft.io/t/use-the-system-gtk-theme/496
Flags: needinfo?(ke5trel)
You need to log in before you can comment on or make changes to this bug.