Bug 1645782 - Correctly snap windows custom scrollbar track / thumbs. r=mstange

Differential Revision: https://phabricator.services.mozilla.com/D97150
This commit is contained in:
Emilio Cobos Alvarez 2020-11-16 12:37:58 +00:00
Родитель 9171bc109b
Коммит 90017c2b90
1 изменённых файлов: 4 добавлений и 5 удалений

Просмотреть файл

@ -2596,7 +2596,7 @@ nsITheme::Transparency nsNativeThemeWin::GetWidgetTransparency(
ui->mScrollbarColor.AsColors().track.MaybeTransparent()) {
return eTransparent;
}
// DrawCustomScrollbarPart doesn't draw the track background for
// MayDrawCustomScrollbarPart doesn't draw the track background for
// widgets on it, and these widgets are thinner than the track,
// so we need to return transparent for them.
switch (aAppearance) {
@ -4042,12 +4042,11 @@ bool nsNativeThemeWin::MayDrawCustomScrollbarPart(gfxContext* aContext,
gfxContextAutoSaveRestore autoSave(aContext);
RefPtr<gfxContext> ctx = aContext;
DrawTarget* dt = ctx->GetDrawTarget();
gfxFloat p2a = gfxFloat(aFrame->PresContext()->AppUnitsPerDevPixel());
gfxRect clipRect = ThebesRect(
LayoutDevicePixel::FromAppUnits(aClipRect, p2a).ToUnknownRect());
gfxRect rect = ThebesRect(NSRectToSnappedRect(aRect, p2a, *dt));
gfxRect clipRect = ThebesRect(NSRectToSnappedRect(aClipRect, p2a, *dt));
ctx->Clip(clipRect);
gfxRect rect =
ThebesRect(LayoutDevicePixel::FromAppUnits(aRect, p2a).ToUnknownRect());
const nsStyleUI* ui = style->StyleUI();
auto* customColors =