Bug 1217662 - part 3 - move nsDisplayBlendContainer::GetLayerState out-of-line; r=mattwoodrow

This method is virtual, so defining it inline isn't worth a whole lot.
Defining it inline also means that we require the complete definition of
LayerManager from Layers.h, and we're trying to avoid including Layers.h
whenever possible.  Let's move it out-of-line to solve this problem.
This commit is contained in:
Nathan Froyd 2015-10-22 16:14:22 -04:00
Родитель 735e488da3
Коммит e826816d24
2 изменённых файлов: 12 добавлений и 7 удалений

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

@ -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;

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

@ -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;