mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-24 02:35:41 +00:00
Bug 1426386 - Expose WR stacking context bounds via StackingContextHelper. r=mstange
MozReview-Commit-ID: 2Z2npMkX5vD --HG-- extra : rebase_source : 241c4c7f3f6b6504797940481d16f6a99092f6ae
This commit is contained in:
parent
25ec44cbbe
commit
c160a5bc6a
@ -22,6 +22,7 @@ StackingContextHelper::StackingContextHelper()
|
||||
StackingContextHelper::StackingContextHelper(const StackingContextHelper& aParentSC,
|
||||
wr::DisplayListBuilder& aBuilder,
|
||||
const nsTArray<wr::WrFilterOp>& aFilters,
|
||||
const LayoutDeviceRect& aBounds,
|
||||
const gfx::Matrix4x4* aBoundTransform,
|
||||
const wr::WrAnimationProperty* aAnimation,
|
||||
float* aOpacityPtr,
|
||||
@ -44,7 +45,7 @@ StackingContextHelper::StackingContextHelper(const StackingContextHelper& aParen
|
||||
mScale = mInheritedTransform.ScaleFactors(true);
|
||||
}
|
||||
|
||||
mBuilder->PushStackingContext(wr::LayoutRect(),
|
||||
mBuilder->PushStackingContext(wr::ToLayoutRect(aBounds),
|
||||
aAnimation,
|
||||
aOpacityPtr,
|
||||
aTransformPtr,
|
||||
|
@ -30,6 +30,7 @@ public:
|
||||
StackingContextHelper(const StackingContextHelper& aParentSC,
|
||||
wr::DisplayListBuilder& aBuilder,
|
||||
const nsTArray<wr::WrFilterOp>& aFilters = nsTArray<wr::WrFilterOp>(),
|
||||
const LayoutDeviceRect& aBounds = LayoutDeviceRect(),
|
||||
const gfx::Matrix4x4* aBoundTransform = nullptr,
|
||||
const wr::WrAnimationProperty* aAnimation = nullptr,
|
||||
float* aOpacityPtr = nullptr,
|
||||
|
@ -6694,7 +6694,7 @@ nsDisplayOpacity::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBuil
|
||||
}
|
||||
|
||||
nsTArray<mozilla::wr::WrFilterOp> filters;
|
||||
StackingContextHelper sc(aSc, aBuilder, filters, nullptr,
|
||||
StackingContextHelper sc(aSc, aBuilder, filters, LayoutDeviceRect(), nullptr,
|
||||
animationsId ? &prop : nullptr,
|
||||
opacityForSC);
|
||||
|
||||
@ -6748,8 +6748,9 @@ nsDisplayBlendMode::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBu
|
||||
nsDisplayListBuilder* aDisplayListBuilder)
|
||||
{
|
||||
nsTArray<mozilla::wr::WrFilterOp> filters;
|
||||
StackingContextHelper sc(aSc, aBuilder, filters, nullptr, 0, nullptr, nullptr,
|
||||
nullptr, nsCSSRendering::GetGFXBlendMode(mBlendMode));
|
||||
StackingContextHelper sc(aSc, aBuilder, filters, LayoutDeviceRect(), nullptr,
|
||||
0, nullptr, nullptr, nullptr,
|
||||
nsCSSRendering::GetGFXBlendMode(mBlendMode));
|
||||
|
||||
return nsDisplayWrapList::CreateWebRenderCommands(aBuilder,aResources, sc,
|
||||
aManager, aDisplayListBuilder);
|
||||
@ -7001,7 +7002,7 @@ nsDisplayOwnLayer::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBui
|
||||
prop.effect_type = wr::WrAnimationType::Transform;
|
||||
|
||||
StackingContextHelper sc(aSc, aBuilder, nsTArray<wr::WrFilterOp>(),
|
||||
nullptr, &prop);
|
||||
LayoutDeviceRect(), nullptr, &prop);
|
||||
|
||||
nsDisplayWrapList::CreateWebRenderCommands(aBuilder, aResources, sc,
|
||||
aManager, aDisplayListBuilder);
|
||||
@ -8524,6 +8525,7 @@ nsDisplayTransform::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBu
|
||||
StackingContextHelper sc(aSc,
|
||||
aBuilder,
|
||||
filters,
|
||||
LayoutDeviceRect(),
|
||||
&newTransformMatrix,
|
||||
animationsId ? &prop : nullptr,
|
||||
nullptr,
|
||||
@ -9148,6 +9150,7 @@ nsDisplayPerspective::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& a
|
||||
StackingContextHelper sc(aSc,
|
||||
aBuilder,
|
||||
filters,
|
||||
LayoutDeviceRect(),
|
||||
nullptr,
|
||||
0,
|
||||
nullptr,
|
||||
@ -9922,7 +9925,8 @@ nsDisplayFilter::CreateWebRenderCommands(mozilla::wr::DisplayListBuilder& aBuild
|
||||
}
|
||||
|
||||
float opacity = mFrame->StyleEffects()->mOpacity;
|
||||
StackingContextHelper sc(aSc, aBuilder, wrFilters, nullptr, 0, opacity != 1.0f && mHandleOpacity ? &opacity : nullptr);
|
||||
StackingContextHelper sc(aSc, aBuilder, wrFilters, LayoutDeviceRect(), nullptr,
|
||||
0, opacity != 1.0f && mHandleOpacity ? &opacity : nullptr);
|
||||
|
||||
nsDisplaySVGEffects::CreateWebRenderCommands(aBuilder, aResources, sc, aManager, aDisplayListBuilder);
|
||||
return true;
|
||||
|
Loading…
Reference in New Issue
Block a user