Bug 1622360 - Stop storing unused render root in AsyncImagePipeline. r=jrmuizel

Depends on D74847

Differential Revision: https://phabricator.services.mozilla.com/D74848
This commit is contained in:
Kartikaya Gupta 2020-05-12 14:22:09 +00:00
Родитель ec06dc3389
Коммит e08c634eb7
3 изменённых файлов: 3 добавлений и 9 удалений

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

@ -30,7 +30,6 @@ AsyncImagePipelineManager::ForwardingExternalImage::~ForwardingExternalImage() {
AsyncImagePipelineManager::AsyncImagePipeline::AsyncImagePipeline() AsyncImagePipelineManager::AsyncImagePipeline::AsyncImagePipeline()
: mInitialised(false), : mInitialised(false),
mRenderRoot(wr::RenderRoot::Default),
mIsChanged(false), mIsChanged(false),
mUseExternalImage(false), mUseExternalImage(false),
mFilter(wr::ImageRendering::Auto), mFilter(wr::ImageRendering::Auto),
@ -134,8 +133,7 @@ WebRenderBridgeParent* AsyncImagePipelineManager::GetWrBridge(
} }
void AsyncImagePipelineManager::AddAsyncImagePipeline( void AsyncImagePipelineManager::AddAsyncImagePipeline(
const wr::PipelineId& aPipelineId, WebRenderImageHost* aImageHost, const wr::PipelineId& aPipelineId, WebRenderImageHost* aImageHost) {
wr::RenderRoot aRenderRoot) {
if (mDestroyed) { if (mDestroyed) {
return; return;
} }
@ -144,7 +142,6 @@ void AsyncImagePipelineManager::AddAsyncImagePipeline(
MOZ_ASSERT(!mAsyncImagePipelines.Get(id)); MOZ_ASSERT(!mAsyncImagePipelines.Get(id));
AsyncImagePipeline* holder = new AsyncImagePipeline(); AsyncImagePipeline* holder = new AsyncImagePipeline();
holder->mRenderRoot = aRenderRoot;
holder->mImageHost = aImageHost; holder->mImageHost = aImageHost;
mAsyncImagePipelines.Put(id, holder); mAsyncImagePipelines.Put(id, holder);
AddPipeline(aPipelineId, /* aWrBridge */ nullptr); AddPipeline(aPipelineId, /* aWrBridge */ nullptr);

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

@ -89,8 +89,7 @@ class AsyncImagePipelineManager final {
TimeStamp GetCompositeUntilTime() const { return mCompositeUntilTime; } TimeStamp GetCompositeUntilTime() const { return mCompositeUntilTime; }
void AddAsyncImagePipeline(const wr::PipelineId& aPipelineId, void AddAsyncImagePipeline(const wr::PipelineId& aPipelineId,
WebRenderImageHost* aImageHost, WebRenderImageHost* aImageHost);
wr::RenderRoot aRenderRoot);
void RemoveAsyncImagePipeline(const wr::PipelineId& aPipelineId, void RemoveAsyncImagePipeline(const wr::PipelineId& aPipelineId,
wr::TransactionBuilder& aTxn); wr::TransactionBuilder& aTxn);
@ -189,7 +188,6 @@ class AsyncImagePipelineManager final {
} }
bool mInitialised; bool mInitialised;
wr::RenderRoot mRenderRoot;
bool mIsChanged; bool mIsChanged;
bool mUseExternalImage; bool mUseExternalImage;
LayoutDeviceRect mScBounds; LayoutDeviceRect mScBounds;

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

@ -1903,8 +1903,7 @@ void WebRenderBridgeParent::AddPipelineIdForCompositable(
wrHost->SetWrBridge(aPipelineId, this); wrHost->SetWrBridge(aPipelineId, this);
mAsyncCompositables.emplace(wr::AsUint64(aPipelineId), wrHost); mAsyncCompositables.emplace(wr::AsUint64(aPipelineId), wrHost);
mAsyncImageManager->AddAsyncImagePipeline(aPipelineId, wrHost, mAsyncImageManager->AddAsyncImagePipeline(aPipelineId, wrHost);
RenderRootForExternal(aRenderRoot));
// If this is being called from WebRenderBridgeParent::RecvSetDisplayList, // If this is being called from WebRenderBridgeParent::RecvSetDisplayList,
// then aTxn might contain a display list that references pipelines that // then aTxn might contain a display list that references pipelines that