From 276b8889d31c532ae6b672b25684239d1efaeb13 Mon Sep 17 00:00:00 2001 From: sotaro Date: Thu, 10 Aug 2017 11:43:11 +0900 Subject: [PATCH] Bug 1388639 - Use KnowsCompositor instead of ShadowForwarder in MaskImageData and MaskLayerImageCache r=nical --- layout/painting/FrameLayerBuilder.cpp | 20 ++++++++++---------- layout/painting/MaskLayerImageCache.cpp | 2 +- layout/painting/MaskLayerImageCache.h | 10 +++++----- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/layout/painting/FrameLayerBuilder.cpp b/layout/painting/FrameLayerBuilder.cpp index 907009513553..3f9b1f6922e6 100644 --- a/layout/painting/FrameLayerBuilder.cpp +++ b/layout/painting/FrameLayerBuilder.cpp @@ -1699,20 +1699,20 @@ public: return mDrawTarget; } - if (mLayerManager->GetBackendType() == LayersBackend::LAYERS_BASIC || - mLayerManager->GetBackendType() == LayersBackend::LAYERS_WR) { + if (mLayerManager->GetBackendType() == LayersBackend::LAYERS_BASIC) { mDrawTarget = mLayerManager->CreateOptimalMaskDrawTarget(mSize); return mDrawTarget; } - MOZ_ASSERT(mLayerManager->GetBackendType() == LayersBackend::LAYERS_CLIENT); + MOZ_ASSERT(mLayerManager->GetBackendType() == LayersBackend::LAYERS_CLIENT || + mLayerManager->GetBackendType() == LayersBackend::LAYERS_WR); - ShadowLayerForwarder* fwd = mLayerManager->AsShadowForwarder(); - if (!fwd) { + KnowsCompositor* knowsCompositor = mLayerManager->AsKnowsCompositor(); + if (!knowsCompositor) { return nullptr; } mTextureClient = - TextureClient::CreateForDrawing(fwd, + TextureClient::CreateForDrawing(knowsCompositor, SurfaceFormat::A8, mSize, BackendSelector::Content, @@ -1747,8 +1747,7 @@ public: private: already_AddRefed CreateImage() { - if ((mLayerManager->GetBackendType() == LayersBackend::LAYERS_BASIC || - mLayerManager->GetBackendType() == LayersBackend::LAYERS_WR) && + if (mLayerManager->GetBackendType() == LayersBackend::LAYERS_BASIC && mDrawTarget) { RefPtr surface = mDrawTarget->Snapshot(); RefPtr image = new SourceSurfaceImage(mSize, surface); @@ -1758,7 +1757,8 @@ private: return image.forget(); } - if (mLayerManager->GetBackendType() == LayersBackend::LAYERS_CLIENT && + if ((mLayerManager->GetBackendType() == LayersBackend::LAYERS_CLIENT || + mLayerManager->GetBackendType() == LayersBackend::LAYERS_WR) && mTextureClient && mDrawTarget) { RefPtr image = @@ -6459,7 +6459,7 @@ ContainerState::CreateMaskLayer(Layer *aLayer, mContainerFrame->PresContext())); newKey->mRoundedClipRects[i].ScaleAndTranslate(imageTransform); } - newKey->mForwarder = mManager->AsShadowForwarder(); + newKey->mKnowsCompositor = mManager->AsKnowsCompositor(); const MaskLayerImageCache::MaskLayerImageKey* lookupKey = newKey; diff --git a/layout/painting/MaskLayerImageCache.cpp b/layout/painting/MaskLayerImageCache.cpp index b47fc3907875..485456d9e358 100644 --- a/layout/painting/MaskLayerImageCache.cpp +++ b/layout/painting/MaskLayerImageCache.cpp @@ -6,7 +6,7 @@ #include "MaskLayerImageCache.h" #include "ImageContainer.h" -#include "mozilla/layers/ShadowLayers.h" +#include "mozilla/layers/KnowsCompositor.h" using namespace mozilla::layers; diff --git a/layout/painting/MaskLayerImageCache.h b/layout/painting/MaskLayerImageCache.h index 743b6dcdd426..59a45f9f5b95 100644 --- a/layout/painting/MaskLayerImageCache.h +++ b/layout/painting/MaskLayerImageCache.h @@ -15,7 +15,7 @@ namespace mozilla { namespace layers { class ImageContainer; -class ShadowLayerForwarder; +class KnowsCompositor; } // namespace layers /** @@ -34,7 +34,7 @@ class ShadowLayerForwarder; class MaskLayerImageCache { typedef mozilla::layers::ImageContainer ImageContainer; - typedef mozilla::layers::ShadowLayerForwarder ShadowLayerForwarder; + typedef mozilla::layers::KnowsCompositor KnowsCompositor; public: MaskLayerImageCache(); ~MaskLayerImageCache(); @@ -154,19 +154,19 @@ public: for (uint32_t i = 0; i < mRoundedClipRects.Length(); ++i) { hash = AddToHash(hash, mRoundedClipRects[i].Hash()); } - hash = AddToHash(hash, mForwarder.get()); + hash = AddToHash(hash, mKnowsCompositor.get()); return hash; } bool operator==(const MaskLayerImageKey& aOther) const { - return mForwarder == aOther.mForwarder && + return mKnowsCompositor == aOther.mKnowsCompositor && mRoundedClipRects == aOther.mRoundedClipRects; } nsTArray mRoundedClipRects; - RefPtr mForwarder; + RefPtr mKnowsCompositor; private: void IncLayerCount() const { ++mLayerCount; } void DecLayerCount() const