Bug 1357065 - Update WebRenderDisplayItemLayer to use PushClip instead of PushScrollLayer because it's pushing a non-scrolling clip. r?jrmuizel
MozReview-Commit-ID: 5GoQtyXQX4q
--- a/gfx/layers/wr/WebRenderDisplayItemLayer.cpp
+++ b/gfx/layers/wr/WebRenderDisplayItemLayer.cpp
@@ -22,37 +22,35 @@ WebRenderDisplayItemLayer::RenderLayer(w
if (mVisibleRegion.IsEmpty()) {
return;
}
Maybe<WrImageMask> mask = BuildWrMaskLayer(false);
WrImageMask* imageMask = mask.ptrOr(nullptr);
if (imageMask) {
gfx::Rect rect = TransformedVisibleBoundsRelativeToParent();
- gfx::Rect overflow(0.0, 0.0, rect.width, rect.height);
- aBuilder.PushScrollLayer(wr::ToWrRect(rect),
- wr::ToWrRect(overflow),
- imageMask);
+ gfx::Rect clip(0.0, 0.0, rect.width, rect.height);
+ aBuilder.PushClip(wr::ToWrRect(clip), imageMask);
}
if (mItem) {
wr::DisplayListBuilder builder(WrBridge()->GetPipeline());
// We might have recycled this layer. Throw away the old commands.
mParentCommands.Clear();
mItem->CreateWebRenderCommands(builder, mParentCommands, this);
mBuiltDisplayList = builder.Finalize();
}
// else we have an empty transaction and just use the
// old commands.
aBuilder.PushBuiltDisplayList(Move(mBuiltDisplayList));
WrBridge()->AddWebRenderParentCommands(mParentCommands);
if (imageMask) {
- aBuilder.PopScrollLayer();
+ aBuilder.PopClip();
}
}
Maybe<wr::ImageKey>
WebRenderDisplayItemLayer::SendImageContainer(ImageContainer* aContainer,
nsTArray<layers::WebRenderParentCommand>& aParentCommands)
{
if (mImageContainer != aContainer) {