Always use non-native scrollbars on GTK
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
People
(Reporter: emilio, Assigned: emilio)
References
Details
Attachments
(4 files)
Right now we paint scrollbars using gtk in nsNativeThemeGTK, and that makes them look a bit inconsistent if the non-native implementation ends up drawing them differently. I think scrollbars should look the same regardless of where they're drawn.
This will simplify code, and also bring proper scrollbar-{width,color}
support to the native theme, which is nice because Thunderbird uses it if you use a theme there.
Assignee | ||
Comment 1•4 years ago
|
||
This allow the automatic scrollbar darkening logic to work without further
tweaks. We don't set appearance: none in any scrollbar on desktop (and we
support scrollbar-{width,color} to customize them anyways).
Assignee | ||
Comment 2•4 years ago
|
||
Depends on D114696
Assignee | ||
Comment 3•4 years ago
|
||
This is just cleanup. We have better ways to run code on shutdown (the pointer
to the theme object gets cleared on shutdown anyways).
Depends on D114697
Assignee | ||
Comment 4•4 years ago
|
||
Right now we paint scrollbars using gtk in nsNativeThemeGTK, and that
makes them look a bit inconsistent if the non-native implementation ends
up drawing them differently. I think scrollbars should look the same
regardless of where they're drawn.
This simplifies the code, and also brings proper scrollbar-{width,color}
support to the native theme, which is nice because Thunderbird uses it
if you use a theme there.
I opted for removing the code, but let me know if you'd rather keep it
behind the widget.non-native-theme.enabled pref or such.
Depends on D114698
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Comment 6•4 years ago
|
||
Backed out for causing mass failures and crashes.
backout: https://hg.mozilla.org/integration/autoland/rev/51ac6b547af8ad310784863211e7f60d98836ff4
push: https://treeherder.mozilla.org/jobs?repo=autoland&revision=7328372519f15c39d923f1ab7dfb2c0f24ae9136
failure logs (some):
- REFTEST PROCESS-CRASH | dom/base/crashtests/499006-1.html | application crashed [@ nsTextPaintStyle::InitCommonColors()]
- PROCESS-CRASH | dom/tests/mochitest/general/test_clipboard_events.html | application crashed [@ unsigned int nsIFrame::GetVisitedDependentColor<mozilla::StyleGenericColor<mozilla::StyleRGBA>, nsStyleBackground>(mozilla::StyleGenericColor<mozilla::StyleRGBA> nsStyleBackground::*)]
- PROCESS-CRASH | /css/css-overflow/overflow-clip-001-crash.html | application crashed [@ RefPtr<mozilla::ComputedStyle>::operator->() const]
- ==1938==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000020 (pc 0x7fb4ca7c2c61 bp 0x7fff45c91290 sp 0x7fff45c91120 T0)
- TEST-UNEXPECTED-FAIL | browser/modules/test/browser/browser_PartnerLinkAttribution.js | Uncaught exception - AbortError: Actor 'SpecialPowers' destroyed before query 'Spawn' was resolved
- PROCESS-CRASH | /css/css-pseudo/active-selection-051.html | application crashed [@ RefPtr<mozilla::ComputedStyle>::operator->() const]
- PROCESS-CRASH | dom/events/test/test_bug426082.html | application crashed [@ RefPtr<mozilla::ComputedStyle>::operator->() const]
- REFTEST PROCESS-CRASH | layout/reftests/bugs/393649-1.html | application crashed [@ RefPtr<mozilla::ComputedStyle>::operator->() const]
- PROCESS-CRASH | /input-events/input-events-cut-paste.html | application crashed [@ nsTextPaintStyle::InitCommonColors()]
Assignee | ||
Updated•4 years ago
|
Comment 8•4 years ago
|
||
bugherder |
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
mozregression led me here, since today on Gentoo Linux running Firefox 90.0a1 (2021-05-12) (64-bit) with widget.non-native-theme.enabled to false, my scrollbars are missing arrows on both ends.
Assignee | ||
Comment 10•4 years ago
•
|
||
widget.non-native-theme.gtk.scrollbar.allow-buttons=true
probably fixes that, but I agree it's bogus that that pref has an effect if the non-native-theme is not enabled.
Comment 11•4 years ago
|
||
Yep. That's fixed the issue for me.
Assignee | ||
Comment 12•4 years ago
|
||
Bug 1710873 should have the "real" fix.
Description
•