mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
Backed out changeset 0df37c7600d1 (bug 1412179) for build bustages on /builds/worker/workspace/build/src/layout/forms/nsFieldSetFrame.cpp:180:25 r=backout on a CLOSED TREE
This commit is contained in:
parent
1e7a98dfd2
commit
7198971550
@ -163,40 +163,27 @@ nsDisplayFieldSetBorder::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder
|
||||
auto frame = static_cast<nsFieldSetFrame*>(mFrame);
|
||||
auto offset = ToReferenceFrame();
|
||||
nsRect rect;
|
||||
bool pushedClip = false;
|
||||
|
||||
if (nsIFrame* legend = frame->GetLegend()) {
|
||||
rect = frame->VisualBorderRectRelativeToSelf() + offset;
|
||||
|
||||
// Legends require a "negative" clip around the text, which WR doesn't support yet.
|
||||
nsRect legendRect = legend->GetNormalRect() + offset;
|
||||
|
||||
if (!legendRect.IsEmpty()) {
|
||||
auto appUnitsPerDevPixel = frame->PresContext()->AppUnitsPerDevPixel();
|
||||
auto layoutRect = LayoutDeviceRect::FromAppUnits(legendRect, appUnitsPerDevPixel);
|
||||
wr::ComplexClipRegion region;
|
||||
region.rect = aSc.ToRelativeLayoutRect(layoutRect);
|
||||
region.mode = wr::ClipMode::ClipOut;
|
||||
nsTArray<mozilla::wr::ComplexClipRegion> array{region};
|
||||
wr::ClipId clip = aBuilder.DefineClip(Nothing(), Nothing(), region.rect, &array);
|
||||
aBuilder.PushClip(clip);
|
||||
pushedClip = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
} else {
|
||||
rect = nsRect(offset, frame->GetRect().Size());
|
||||
}
|
||||
|
||||
bool result = nsCSSRendering::CreateWebRenderCommandsForBorder(this,
|
||||
mFrame,
|
||||
rect,
|
||||
aBuilder,
|
||||
aResources,
|
||||
aSc,
|
||||
aManager,
|
||||
aDisplayListBuilder);
|
||||
if (pushedClip) {
|
||||
aBuilder.PopClip();
|
||||
}
|
||||
return result;
|
||||
return nsCSSRendering::CreateWebRenderCommandsForBorder(this,
|
||||
mFrame,
|
||||
rect,
|
||||
aBuilder,
|
||||
aResources,
|
||||
aSc,
|
||||
aManager,
|
||||
aDisplayListBuilder);
|
||||
};
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user