Bug 1230780 - Propagate preserve-3d handling through nsDisplayPerspective. r=thinker

--HG--
extra : rebase_source : 7100cdf247c2e9d5fd17096722a718f074bfe504
This commit is contained in:
Matt Woodrow 2015-12-17 16:22:49 +13:00
Родитель f133357987
Коммит e004a92625
2 изменённых файлов: 17 добавлений и 2 удалений

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

@ -6107,6 +6107,18 @@ void
nsDisplayTransform::WriteDebugInfo(std::stringstream& aStream)
{
AppendToString(aStream, GetTransform());
if (IsTransformSeparator()) {
aStream << " transform-separator";
}
if (IsLeafOf3DContext()) {
aStream << " 3d-context-leaf";
}
if (mFrame->Extend3DContext()) {
aStream << " extends-3d-context";
}
if (mFrame->Combines3DTransformWithAncestors()) {
aStream << " combines-3d-with-ancestors";
}
}
nsDisplayPerspective::nsDisplayPerspective(nsDisplayListBuilder* aBuilder,
@ -6117,7 +6129,10 @@ nsDisplayPerspective::nsDisplayPerspective(nsDisplayListBuilder* aBuilder,
, mList(aBuilder, aPerspectiveFrame, aList)
, mTransformFrame(aTransformFrame)
, mIndex(aBuilder->AllocatePerspectiveItemIndex())
{}
{
MOZ_ASSERT(mList.GetChildren()->Count() == 1);
MOZ_ASSERT(mList.GetChildren()->GetTop()->GetType() == TYPE_TRANSFORM);
}
already_AddRefed<Layer>
nsDisplayPerspective::BuildLayer(nsDisplayListBuilder *aBuilder,

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

@ -4214,7 +4214,7 @@ public:
virtual bool ShouldBuildLayerEvenIfInvisible(nsDisplayListBuilder* aBuilder) override
{
return mList.ShouldBuildLayerEvenIfInvisible(aBuilder);
return mList.GetChildren()->GetTop()->ShouldBuildLayerEvenIfInvisible(aBuilder);
}
virtual already_AddRefed<Layer> BuildLayer(nsDisplayListBuilder* aBuilder,