diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index 968028ca8eca..12047963b431 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -4165,6 +4165,17 @@ nsDisplayBlendContainer::BuildLayer(nsDisplayListBuilder* aBuilder, return container.forget(); } +LayerState +nsDisplayBlendContainer::GetLayerState(nsDisplayListBuilder* aBuilder, + LayerManager* aManager, + const ContainerLayerParameters& aParameters) +{ + if (mCanBeActive && aManager->SupportsMixBlendModes(mContainedBlendModes)) { + return mozilla::LAYER_ACTIVE; + } + return mozilla::LAYER_INACTIVE; +} + bool nsDisplayBlendContainer::TryMerge(nsDisplayListBuilder* aBuilder, nsDisplayItem* aItem) { if (aItem->GetType() != TYPE_BLEND_CONTAINER) return false; diff --git a/layout/base/nsDisplayList.h b/layout/base/nsDisplayList.h index 0554e05d741c..93df919af77f 100644 --- a/layout/base/nsDisplayList.h +++ b/layout/base/nsDisplayList.h @@ -3286,13 +3286,7 @@ public: const ContainerLayerParameters& aContainerParameters) override; virtual LayerState GetLayerState(nsDisplayListBuilder* aBuilder, LayerManager* aManager, - const ContainerLayerParameters& aParameters) override - { - if (mCanBeActive && aManager->SupportsMixBlendModes(mContainedBlendModes)) { - return mozilla::LAYER_ACTIVE; - } - return mozilla::LAYER_INACTIVE; - } + const ContainerLayerParameters& aParameters) override; virtual bool TryMerge(nsDisplayListBuilder* aBuilder, nsDisplayItem* aItem) override; virtual bool ShouldFlattenAway(nsDisplayListBuilder* aBuilder) override { return false;