mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-07 18:04:46 +00:00
Bug 1347871 - Do not create webrender commands if the image renderer doesn't have image container. r=mattwoodrow
--HG-- extra : rebase_source : 4b796a83e76b0dc812208a408570a63618ef47a1
This commit is contained in:
parent
c6f971413b
commit
803515ec05
@ -4573,6 +4573,10 @@ nsDisplayBorder::GetLayerState(nsDisplayListBuilder* aBuilder,
|
||||
if (!mBorderImageRenderer) {
|
||||
return LAYER_NONE;
|
||||
}
|
||||
|
||||
if (!mBorderImageRenderer->mImageRenderer.IsImageContainerAvailable(aManager, flags)) {
|
||||
return LAYER_NONE;
|
||||
}
|
||||
}
|
||||
|
||||
return LAYER_ACTIVE;
|
||||
@ -4666,6 +4670,9 @@ nsDisplayBorder::CreateBorderImageWebRenderCommands(mozilla::wr::DisplayListBuil
|
||||
}
|
||||
|
||||
uint64_t externalImageId = aLayer->SendImageContainer(container);
|
||||
if (!externalImageId) {
|
||||
return;
|
||||
}
|
||||
|
||||
const int32_t appUnitsPerDevPixel = mFrame->PresContext()->AppUnitsPerDevPixel();
|
||||
Rect destRect =
|
||||
|
@ -854,6 +854,15 @@ nsImageRenderer::GetImage()
|
||||
return image.forget();
|
||||
}
|
||||
|
||||
bool
|
||||
nsImageRenderer::IsImageContainerAvailable(layers::LayerManager* aManager, uint32_t aFlags)
|
||||
{
|
||||
if (!mImageContainer) {
|
||||
return false;
|
||||
}
|
||||
return mImageContainer->IsImageContainerAvailable(aManager, aFlags);
|
||||
}
|
||||
|
||||
void
|
||||
nsImageRenderer::PurgeCacheForViewportChange(
|
||||
const Maybe<nsSize>& aSVGViewportSize, const bool aHasIntrinsicRatio)
|
||||
|
@ -230,6 +230,7 @@ public:
|
||||
/// Retrieves the image associated with this nsImageRenderer, if there is one.
|
||||
already_AddRefed<imgIContainer> GetImage();
|
||||
|
||||
bool IsImageContainerAvailable(layers::LayerManager* aManager, uint32_t aFlags);
|
||||
bool IsReady() const { return mPrepareResult == DrawResult::SUCCESS; }
|
||||
DrawResult PrepareResult() const { return mPrepareResult; }
|
||||
void SetExtendMode(mozilla::gfx::ExtendMode aMode) { mExtendMode = aMode; }
|
||||
|
Loading…
Reference in New Issue
Block a user