Bug 1471866 - Ensure viewport scrollbar uses style from root element. r?spohl
MozReview-Commit-ID: 1rIJFJHN0vf
--- a/widget/cocoa/nsNativeThemeCocoa.mm
+++ b/widget/cocoa/nsNativeThemeCocoa.mm
@@ -2740,22 +2740,25 @@ nsNativeThemeCocoa::ComputeScrollbarPara
params.small =
(scrollbarFrame &&
scrollbarFrame->StyleDisplay()->mAppearance == NS_THEME_SCROLLBAR_SMALL);
params.rtl = IsFrameRTL(aFrame);
params.horizontal = aIsHorizontal;
params.onDarkBackground = IsDarkBackground(aFrame);
// Don't use custom scrollbars for overlay scrollbars since they are
// generally good enough for use cases of custom scrollbars.
- if (!params.overlay &&
- aFrame->StyleUserInterface()->HasCustomScrollbars()) {
- ComputedStyle* cs = aFrame->Style();
- params.custom = true;
- params.trackColor = GetScrollbarTrackColor(cs, &GetAutoScrollbarTrackColor);
- params.faceColor = GetScrollbarFaceColor(cs, &GetAutoScrollbarFaceColor);
+ if (!params.overlay) {
+ ComputedStyle* style = nsLayoutUtils::StyleForScrollbar(aFrame);
+ if (style->StyleUserInterface()->HasCustomScrollbars()) {
+ params.custom = true;
+ params.trackColor =
+ GetScrollbarTrackColor(style, &GetAutoScrollbarTrackColor);
+ params.faceColor =
+ GetScrollbarFaceColor(style, &GetAutoScrollbarFaceColor);
+ }
}
return params;
}
void
nsNativeThemeCocoa::DrawScrollbarThumb(CGContextRef cgContext,
const CGRect& inBoxRect,
ScrollbarParams aParams)