diff --git a/layout/base/FrameLayerBuilder.cpp b/layout/base/FrameLayerBuilder.cpp index 6db09c94ce4e..b78720e347c7 100644 --- a/layout/base/FrameLayerBuilder.cpp +++ b/layout/base/FrameLayerBuilder.cpp @@ -3109,7 +3109,7 @@ ContainerState::SetupMaskLayer(Layer *aLayer, const FrameLayerBuilder::Clip& aCl // check to see if we can reuse a mask image const MaskLayerImageCache::MaskLayerImageKey* key = - new MaskLayerImageCache::MaskLayerImageKey(roundedRects); + new MaskLayerImageCache::MaskLayerImageKey(roundedRects, aLayer->Manager()->GetBackendType()); const MaskLayerImageCache::MaskLayerImageKey* lookupKey = key; nsRefPtr container = diff --git a/layout/base/MaskLayerImageCache.h b/layout/base/MaskLayerImageCache.h index 3dd54a530cfb..288aad2afa0e 100644 --- a/layout/base/MaskLayerImageCache.h +++ b/layout/base/MaskLayerImageCache.h @@ -113,8 +113,9 @@ public: class MaskLayerImageKey { public: - MaskLayerImageKey(const nsTArray& aRoundedClipRects) - : mLayerCount(0) + MaskLayerImageKey(const nsTArray& aRoundedClipRects, layers::LayersBackend aBackend) + : mBackend(aBackend) + , mLayerCount(0) , mRoundedClipRects(aRoundedClipRects) {} @@ -132,6 +133,7 @@ public: for (PRUint32 i = 0; i < mRoundedClipRects.Length(); ++i) { hash = AddToHash(hash, mRoundedClipRects[i].Hash()); } + hash = AddToHash(hash, mBackend); return hash; } @@ -141,6 +143,7 @@ public: return mRoundedClipRects == aOther.mRoundedClipRects; } + layers::LayersBackend mBackend; mutable PRUint32 mLayerCount; nsTArray mRoundedClipRects; };