mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-25 20:01:50 +00:00
Bug 1749531 - Allow to override native theme scrollbar styles. r=mstange
Depends on D136129 Differential Revision: https://phabricator.services.mozilla.com/D136130
This commit is contained in:
parent
94586650a4
commit
f39ab4f51a
@ -177,7 +177,10 @@ void Theme::Shutdown() {
|
||||
void Theme::LookAndFeelChanged() {
|
||||
ThemeColors::RecomputeAccentColors();
|
||||
if (gNonNativeInstance) {
|
||||
gNonNativeInstance->SetScrollbarDrawing(Theme::ScrollbarStyle());
|
||||
gNonNativeInstance->SetScrollbarDrawing(ScrollbarStyle());
|
||||
}
|
||||
if (gNativeInstance) {
|
||||
gNativeInstance->SetScrollbarDrawing(ScrollbarStyle());
|
||||
}
|
||||
}
|
||||
|
||||
@ -1400,12 +1403,8 @@ UniquePtr<ScrollbarDrawing> Theme::ScrollbarStyle() {
|
||||
case 5:
|
||||
return MakeUnique<ScrollbarDrawingWin11>();
|
||||
default:
|
||||
return DefaultPlatformScrollbarStyle();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* static */
|
||||
UniquePtr<ScrollbarDrawing> Theme::DefaultPlatformScrollbarStyle() {
|
||||
// Default to native scrollbar style for each platform.
|
||||
#ifdef XP_WIN
|
||||
if (IsWin11OrLater()) {
|
||||
|
@ -95,7 +95,6 @@ class Theme : protected nsNativeTheme, public nsITheme {
|
||||
|
||||
nscoord GetCheckboxRadioPrefSize() override;
|
||||
|
||||
static UniquePtr<ScrollbarDrawing> DefaultPlatformScrollbarStyle();
|
||||
static UniquePtr<ScrollbarDrawing> ScrollbarStyle();
|
||||
|
||||
protected:
|
||||
|
@ -399,7 +399,7 @@ static bool IsInSourceList(nsIFrame* aFrame) {
|
||||
|
||||
NS_IMPL_ISUPPORTS_INHERITED(nsNativeThemeCocoa, nsNativeTheme, nsITheme)
|
||||
|
||||
nsNativeThemeCocoa::nsNativeThemeCocoa() : ThemeCocoa(DefaultPlatformScrollbarStyle()) {
|
||||
nsNativeThemeCocoa::nsNativeThemeCocoa() : ThemeCocoa(ScrollbarStyle()) {
|
||||
NS_OBJC_BEGIN_TRY_IGNORE_BLOCK;
|
||||
|
||||
kMaxFocusRingWidth = 7;
|
||||
|
@ -94,7 +94,7 @@ static inline gint GetMonitorScaleFactor(nsIFrame* aFrame) {
|
||||
return GetMonitorScaleFactor(aFrame->PresContext());
|
||||
}
|
||||
|
||||
nsNativeThemeGTK::nsNativeThemeGTK() : Theme(DefaultPlatformScrollbarStyle()) {
|
||||
nsNativeThemeGTK::nsNativeThemeGTK() : Theme(ScrollbarStyle()) {
|
||||
if (moz_gtk_init() != MOZ_GTK_SUCCESS) {
|
||||
memset(mDisabledWidgetTypes, 0xff, sizeof(mDisabledWidgetTypes));
|
||||
return;
|
||||
@ -1670,7 +1670,7 @@ nsITheme::Transparency nsNativeThemeGTK::GetWidgetTransparency(
|
||||
|
||||
already_AddRefed<Theme> do_CreateNativeThemeDoNotUseDirectly() {
|
||||
if (gfxPlatform::IsHeadless()) {
|
||||
return do_AddRef(new Theme(Theme::DefaultPlatformScrollbarStyle()));
|
||||
return do_AddRef(new Theme(Theme::ScrollbarStyle()));
|
||||
}
|
||||
return do_AddRef(new nsNativeThemeGTK());
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ extern mozilla::LazyLogModule gWindowsLog;
|
||||
namespace mozilla::widget {
|
||||
|
||||
nsNativeThemeWin::nsNativeThemeWin()
|
||||
: Theme(DefaultPlatformScrollbarStyle()),
|
||||
: Theme(ScrollbarStyle()),
|
||||
mProgressDeterminateTimeStamp(TimeStamp::Now()),
|
||||
mProgressIndeterminateTimeStamp(TimeStamp::Now()),
|
||||
mBorderCacheValid(),
|
||||
|
Loading…
x
Reference in New Issue
Block a user