Bug 1341156 - Change nsDisplayOutline to match border api change. r=ethlin
MozReview-Commit-ID: APVuiTFfLzk
--- a/layout/painting/nsDisplayList.cpp
+++ b/layout/painting/nsDisplayList.cpp
@@ -4152,26 +4152,36 @@ nsDisplayOutline::CreateWebRenderCommand
{
MOZ_ASSERT(mBorderRenderer.isSome());
Rect outlineTransformedRect = aLayer->RelativeToParent(mBorderRenderer->mOuterRect);
nsCSSBorderRenderer* br = mBorderRenderer.ptr();
WrBorderSide side[4];
NS_FOR_CSS_SIDES(i) {
- side[i] = wr::ToWrBorderSide(br->mBorderWidths[i], ToDeviceColor(br->mBorderColors[i]), br->mBorderStyles[i]);
- }
- WrBorderRadius borderRadius = wr::ToWrBorderRadius(LayerSize(br->mBorderRadii[0].width, br->mBorderRadii[0].height),
- LayerSize(br->mBorderRadii[1].width, br->mBorderRadii[1].height),
- LayerSize(br->mBorderRadii[3].width, br->mBorderRadii[3].height),
- LayerSize(br->mBorderRadii[2].width, br->mBorderRadii[2].height));
+ side[i] = wr::ToWrBorderSide(ToDeviceColor(br->mBorderColors[i]), br->mBorderStyles[i]);
+ }
+
+ WrBorderRadius borderRadius =
+ wr::ToWrBorderRadius(LayerSize(br->mBorderRadii[0].width, br->mBorderRadii[0].height),
+ LayerSize(br->mBorderRadii[1].width, br->mBorderRadii[1].height),
+ LayerSize(br->mBorderRadii[3].width, br->mBorderRadii[3].height),
+ LayerSize(br->mBorderRadii[2].width, br->mBorderRadii[2].height));
+
aCommands.AppendElement(OpDPPushBorder(wr::ToWrRect(outlineTransformedRect),
wr::ToWrRect(outlineTransformedRect),
- side[0], side[1], side[2], side[3],
- borderRadius));
+ wr::ToWrBorderWidth(br->mBorderWidths[0],
+ br->mBorderWidths[1],
+ br->mBorderWidths[2],
+ br->mBorderWidths[3]),
+ wr::ToWrNormalBorder(side[0],
+ side[1],
+ side[2],
+ side[3],
+ borderRadius)));
}
bool
nsDisplayOutline::IsInvisibleInRect(const nsRect& aRect)
{
const nsStyleOutline* outline = mFrame->StyleOutline();
nsRect borderBox(ToReferenceFrame(), mFrame->GetSize());
if (borderBox.Contains(aRect) &&