From 6a5f7ab2d33f08a90a1dba9459a261c5762d9b38 Mon Sep 17 00:00:00 2001 From: Andrew Osmond Date: Fri, 3 Sep 2021 12:52:05 +0000 Subject: [PATCH] Bug 1728903 - Remove plumbing for CanvasLayer and ImageLayer. r=mattwoodrow Differential Revision: https://phabricator.services.mozilla.com/D124406 --- dom/canvas/CanvasRenderingContext2D.cpp | 48 -------- dom/canvas/CanvasRenderingContext2D.h | 4 - dom/canvas/ClientWebGLContext.cpp | 26 ----- dom/canvas/ClientWebGLContext.h | 3 - dom/canvas/ImageBitmapRenderingContext.cpp | 37 +----- dom/canvas/ImageBitmapRenderingContext.h | 3 - dom/canvas/WebGLContext.h | 4 - .../nsICanvasRenderingContextInternal.h | 12 -- dom/html/HTMLCanvasElement.cpp | 33 +----- dom/html/HTMLCanvasElement.h | 9 -- dom/webgpu/CanvasContext.cpp | 6 - dom/webgpu/CanvasContext.h | 3 - gfx/layers/CanvasRenderer.h | 25 ++-- gfx/layers/Compositor.h | 5 - gfx/layers/ImageLayers.cpp | 61 ---------- gfx/layers/ImageLayers.h | 88 -------------- gfx/layers/LayerManager.h | 16 --- gfx/layers/Layers.cpp | 28 ----- gfx/layers/Layers.h | 110 ------------------ gfx/layers/apz/src/ScrollThumbUtils.cpp | 1 + gfx/layers/apz/test/gtest/APZTestCommon.h | 1 + gfx/layers/client/ClientCanvasRenderer.h | 34 ------ gfx/layers/d3d11/CompositorD3D11.cpp | 10 -- gfx/layers/d3d11/CompositorD3D11.h | 1 - gfx/layers/ipc/LayersMessages.ipdlh | 3 - gfx/layers/moz.build | 2 - gfx/layers/opengl/CompositorOGL.h | 6 - gfx/layers/wr/WebRenderCommandBuilder.h | 1 - gfx/layers/wr/WebRenderLayerManager.h | 2 - gfx/layers/wr/WebRenderUserData.h | 1 - gfx/tests/gtest/TestLayers.cpp | 7 +- gfx/tests/gtest/TestTextures.cpp | 1 + layout/generic/nsHTMLCanvasFrame.cpp | 1 - layout/generic/nsIFrame.cpp | 1 - layout/generic/nsImageFrame.cpp | 1 - layout/generic/nsImageMap.cpp | 1 - layout/generic/nsVideoFrame.cpp | 1 - layout/painting/nsDisplayList.cpp | 2 +- layout/xul/nsImageBoxFrame.cpp | 1 - 39 files changed, 18 insertions(+), 581 deletions(-) delete mode 100644 gfx/layers/ImageLayers.cpp delete mode 100644 gfx/layers/ImageLayers.h delete mode 100644 gfx/layers/client/ClientCanvasRenderer.h diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp index dc3ae0046773..8f07bea63fd4 100644 --- a/dom/canvas/CanvasRenderingContext2D.cpp +++ b/dom/canvas/CanvasRenderingContext2D.cpp @@ -5364,49 +5364,6 @@ void CanvasRenderingContext2D::OnBeforePaintTransaction() { void CanvasRenderingContext2D::OnDidPaintTransaction() { MarkContextClean(); } -already_AddRefed CanvasRenderingContext2D::GetCanvasLayer( - nsDisplayListBuilder* aBuilder, Layer* aOldLayer, LayerManager* aManager) { - if (mOpaque) { - // If we're opaque then make sure we have a surface so we paint black - // instead of transparent. - EnsureTarget(); - } - - // Don't call EnsureTarget() ... if there isn't already a surface, then - // we have nothing to paint and there is no need to create a surface just - // to paint nothing. Also, EnsureTarget() can cause creation of a persistent - // layer manager which must NOT happen during a paint. - if (!mBufferProvider && !IsTargetValid()) { - // No DidTransactionCallback will be received, so mark the context clean - // now so future invalidations will be dispatched. - MarkContextClean(); - return nullptr; - } - - if (!mResetLayer && aOldLayer) { - RefPtr ret = aOldLayer; - return ret.forget(); - } - - RefPtr canvasLayer = aManager->CreateCanvasLayer(); - if (!canvasLayer) { - NS_WARNING("CreateCanvasLayer returned null!"); - // No DidTransactionCallback will be received, so mark the context clean - // now so future invalidations will be dispatched. - MarkContextClean(); - return nullptr; - } - - const auto canvasRenderer = canvasLayer->CreateOrGetCanvasRenderer(); - InitializeCanvasRenderer(aBuilder, canvasRenderer); - uint32_t flags = mOpaque ? Layer::CONTENT_OPAQUE : 0; - canvasLayer->SetContentFlags(flags); - - mResetLayer = false; - - return canvasLayer.forget(); -} - bool CanvasRenderingContext2D::UpdateWebRenderCanvasData( nsDisplayListBuilder* aBuilder, WebRenderCanvasData* aCanvasData) { if (mOpaque) { @@ -5491,11 +5448,6 @@ bool CanvasRenderingContext2D::IsContextCleanForFrameCapture() { return !mIsCapturedFrameInvalid; } -bool CanvasRenderingContext2D::ShouldForceInactiveLayer( - LayerManager* aManager) { - return !aManager->CanUseCanvasLayerForSize(GetSize()); -} - void CanvasRenderingContext2D::GetAppUnitsValues(int32_t* aPerDevPixel, int32_t* aPerCSSPixel) { // If we don't have a canvas element, we just return something generic. diff --git a/dom/canvas/CanvasRenderingContext2D.h b/dom/canvas/CanvasRenderingContext2D.h index 3fbf2f9aaf98..0b33d0245e75 100644 --- a/dom/canvas/CanvasRenderingContext2D.h +++ b/dom/canvas/CanvasRenderingContext2D.h @@ -422,16 +422,12 @@ class CanvasRenderingContext2D final : public nsICanvasRenderingContextInternal, virtual void SetOpaqueValueFromOpaqueAttr(bool aOpaqueAttrValue) override; bool GetIsOpaque() override { return mOpaque; } NS_IMETHOD Reset() override; - already_AddRefed GetCanvasLayer(nsDisplayListBuilder* aBuilder, - Layer* aOldLayer, - LayerManager* aManager) override; bool UpdateWebRenderCanvasData(nsDisplayListBuilder* aBuilder, WebRenderCanvasData* aCanvasData) override; bool InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder, CanvasRenderer* aRenderer) override; - virtual bool ShouldForceInactiveLayer(LayerManager* aManager) override; void MarkContextClean() override; void MarkContextCleanForFrameCapture() override; bool IsContextCleanForFrameCapture() override; diff --git a/dom/canvas/ClientWebGLContext.cpp b/dom/canvas/ClientWebGLContext.cpp index 25cdd04bf6b6..9153a84b69ad 100644 --- a/dom/canvas/ClientWebGLContext.cpp +++ b/dom/canvas/ClientWebGLContext.cpp @@ -386,32 +386,6 @@ void ClientWebGLContext::ClearVRSwapChain() { Run(); } // - -already_AddRefed ClientWebGLContext::GetCanvasLayer( - nsDisplayListBuilder* builder, Layer* oldLayer, LayerManager* manager) { - if (!mResetLayer && oldLayer) { - RefPtr ret = oldLayer; - return ret.forget(); - } - - RefPtr canvasLayer = manager->CreateCanvasLayer(); - if (!canvasLayer) { - NS_WARNING("CreateCanvasLayer returned null!"); - return nullptr; - } - - const auto canvasRenderer = canvasLayer->CreateOrGetCanvasRenderer(); - if (!InitializeCanvasRenderer(builder, canvasRenderer)) return nullptr; - - uint32_t flags = 0; - if (GetIsOpaque()) { - flags |= Layer::CONTENT_OPAQUE; - } - canvasLayer->SetContentFlags(flags); - - mResetLayer = false; - return canvasLayer.forget(); -} - bool ClientWebGLContext::UpdateWebRenderCanvasData( nsDisplayListBuilder* aBuilder, WebRenderCanvasData* aCanvasData) { CanvasRenderer* renderer = aCanvasData->GetCanvasRenderer(); diff --git a/dom/canvas/ClientWebGLContext.h b/dom/canvas/ClientWebGLContext.h index 3fb15feb66e4..9c46446a1ff0 100644 --- a/dom/canvas/ClientWebGLContext.h +++ b/dom/canvas/ClientWebGLContext.h @@ -909,9 +909,6 @@ class ClientWebGLContext final : public nsICanvasRenderingContextInternal, // nsICanvasRenderingContextInternal / nsAPostRefreshObserver // ------------------------------------------------------------------------- public: - already_AddRefed GetCanvasLayer( - nsDisplayListBuilder* builder, layers::Layer* oldLayer, - layers::LayerManager* manager) override; bool InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder, layers::CanvasRenderer* aRenderer) override; // Note that 'clean' here refers to its invalidation state, not the diff --git a/dom/canvas/ImageBitmapRenderingContext.cpp b/dom/canvas/ImageBitmapRenderingContext.cpp index 475a37f6a0e7..f542a163b09d 100644 --- a/dom/canvas/ImageBitmapRenderingContext.cpp +++ b/dom/canvas/ImageBitmapRenderingContext.cpp @@ -4,10 +4,11 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "ImageBitmapRenderingContext.h" +#include "gfxPlatform.h" #include "mozilla/dom/ImageBitmapRenderingContextBinding.h" #include "nsComponentManagerUtils.h" +#include "nsRegion.h" #include "ImageContainer.h" -#include "ImageLayers.h" namespace mozilla::dom { @@ -198,40 +199,6 @@ ImageBitmapRenderingContext::Reset() { return NS_OK; } -already_AddRefed ImageBitmapRenderingContext::GetCanvasLayer( - nsDisplayListBuilder* aBuilder, Layer* aOldLayer, LayerManager* aManager) { - if (!mImage) { - // No DidTransactionCallback will be received, so mark the context clean - // now so future invalidations will be dispatched. - MarkContextClean(); - return nullptr; - } - - RefPtr imageLayer; - - if (aOldLayer) { - imageLayer = static_cast(aOldLayer); - } else { - imageLayer = aManager->CreateImageLayer(); - } - - RefPtr imageContainer = imageLayer->GetContainer(); - if (!imageContainer) { - imageContainer = LayerManager::CreateImageContainer(); - imageLayer->SetContainer(imageContainer); - } - - AutoTArray imageList; - RefPtr image = ClipToIntrinsicSize(); - if (!image) { - return nullptr; - } - imageList.AppendElement(layers::ImageContainer::NonOwningImage(image)); - imageContainer->SetCurrentImages(imageList); - - return imageLayer.forget(); -} - bool ImageBitmapRenderingContext::UpdateWebRenderCanvasData( nsDisplayListBuilder* aBuilder, WebRenderCanvasData* aCanvasData) { if (!mImage) { diff --git a/dom/canvas/ImageBitmapRenderingContext.h b/dom/canvas/ImageBitmapRenderingContext.h index a2bd15043c29..9b8832f16714 100644 --- a/dom/canvas/ImageBitmapRenderingContext.h +++ b/dom/canvas/ImageBitmapRenderingContext.h @@ -78,9 +78,6 @@ class ImageBitmapRenderingContext final virtual void SetOpaqueValueFromOpaqueAttr(bool aOpaqueAttrValue) override; virtual bool GetIsOpaque() override; NS_IMETHOD Reset() override; - virtual already_AddRefed GetCanvasLayer( - nsDisplayListBuilder* aBuilder, Layer* aOldLayer, - LayerManager* aManager) override; virtual already_AddRefed GetAsImage() override { return ClipToIntrinsicSize(); } diff --git a/dom/canvas/WebGLContext.h b/dom/canvas/WebGLContext.h index 1eab3cd1ba39..c27be0eb2570 100644 --- a/dom/canvas/WebGLContext.h +++ b/dom/canvas/WebGLContext.h @@ -470,10 +470,6 @@ class WebGLContext : public VRefCounted, public SupportsWeakPtr { WebGLTexture* GetActiveTex(const GLenum texTarget) const; - already_AddRefed GetCanvasLayer(nsDisplayListBuilder* builder, - layers::Layer* oldLayer, - layers::LayerManager* manager); - Maybe InitializeCanvasRenderer(layers::LayersBackend backend); gl::GLContext* GL() const { return gl; } diff --git a/dom/canvas/nsICanvasRenderingContextInternal.h b/dom/canvas/nsICanvasRenderingContextInternal.h index cee8c4594444..606494f9e999 100644 --- a/dom/canvas/nsICanvasRenderingContextInternal.h +++ b/dom/canvas/nsICanvasRenderingContextInternal.h @@ -35,7 +35,6 @@ class nsDisplayListBuilder; class ClientWebGLContext; class PresShell; namespace layers { -class CanvasLayer; class CanvasRenderer; class CompositableHandle; class Layer; @@ -53,7 +52,6 @@ class SourceSurface; class nsICanvasRenderingContextInternal : public nsISupports, public nsAPostRefreshObserver { public: - using CanvasLayer = mozilla::layers::CanvasLayer; using CanvasRenderer = mozilla::layers::CanvasRenderer; using Layer = mozilla::layers::Layer; using LayerManager = mozilla::layers::LayerManager; @@ -142,11 +140,6 @@ class nsICanvasRenderingContextInternal : public nsISupports, // for possibly reinitializing with SetDimensions/InitializeWithSurface. NS_IMETHOD Reset() = 0; - // Return the CanvasLayer for this context, creating - // one for the given layer manager if not available. - virtual already_AddRefed GetCanvasLayer( - mozilla::nsDisplayListBuilder* builder, Layer* oldLayer, - LayerManager* manager) = 0; virtual already_AddRefed GetAsImage() { return nullptr; } @@ -160,11 +153,6 @@ class nsICanvasRenderingContextInternal : public nsISupports, return false; } - // Return true if the canvas should be forced to be "inactive" to ensure - // it can be drawn to the screen even if it's too large to be blitted by - // an accelerated CanvasLayer. - virtual bool ShouldForceInactiveLayer(LayerManager* manager) { return false; } - virtual void MarkContextClean() = 0; // Called when a frame is captured. diff --git a/dom/html/HTMLCanvasElement.cpp b/dom/html/HTMLCanvasElement.cpp index d2c87422d3bc..c94dcfb367ab 100644 --- a/dom/html/HTMLCanvasElement.cpp +++ b/dom/html/HTMLCanvasElement.cpp @@ -7,7 +7,6 @@ #include "mozilla/dom/HTMLCanvasElement.h" #include "ImageEncoder.h" -#include "ImageLayers.h" #include "jsapi.h" #include "jsfriendapi.h" #include "Layers.h" @@ -1076,11 +1075,7 @@ void HTMLCanvasElement::InvalidateCanvasContent(const gfx::Rect* damageRect) { } if (layer) { - if (CanvasLayer* canvas = layer->AsCanvasLayer()) { - canvas->Updated(); - } else { - layer->SetInvalidRectToVisibleRegion(); - } + layer->SetInvalidRectToVisibleRegion(); } else { // This path is taken in two situations: // 1) WebRender is enabled and has not yet processed a display list. @@ -1129,19 +1124,6 @@ CanvasContextType HTMLCanvasElement::GetCurrentContextType() { return mCurrentContextType; } -already_AddRefed HTMLCanvasElement::GetCanvasLayer( - nsDisplayListBuilder* aBuilder, Layer* aOldLayer, LayerManager* aManager) { - if (mCurrentContext) { - return mCurrentContext->GetCanvasLayer(aBuilder, aOldLayer, aManager); - } - - if (mOffscreenCanvas) { - MOZ_CRASH("todo"); - } - - return nullptr; -} - already_AddRefed HTMLCanvasElement::GetAsImage() { if (mCurrentContext) { return mCurrentContext->GetAsImage(); @@ -1181,19 +1163,6 @@ bool HTMLCanvasElement::InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder, return false; } -bool HTMLCanvasElement::ShouldForceInactiveLayer(LayerManager* aManager) { - if (mCurrentContext) { - return mCurrentContext->ShouldForceInactiveLayer(aManager); - } - - if (mOffscreenCanvas) { - // TODO: We should handle offscreen canvas case. - return false; - } - - return true; -} - void HTMLCanvasElement::MarkContextClean() { if (!mCurrentContext) return; diff --git a/dom/html/HTMLCanvasElement.h b/dom/html/HTMLCanvasElement.h index e1a1dae49242..0146ba62806e 100644 --- a/dom/html/HTMLCanvasElement.h +++ b/dom/html/HTMLCanvasElement.h @@ -31,7 +31,6 @@ class ClientWebGLContext; namespace layers { class CanvasRenderer; -class CanvasLayer; class Image; class Layer; class LayerManager; @@ -122,7 +121,6 @@ class HTMLCanvasElement final : public nsGenericHTMLElement, enum { DEFAULT_CANVAS_WIDTH = 300, DEFAULT_CANVAS_HEIGHT = 150 }; typedef layers::CanvasRenderer CanvasRenderer; - typedef layers::CanvasLayer CanvasLayer; typedef layers::Layer Layer; typedef layers::LayerManager LayerManager; typedef layers::WebRenderCanvasData WebRenderCanvasData; @@ -298,18 +296,11 @@ class HTMLCanvasElement final : public nsGenericHTMLElement, * Helpers called by various users of Canvas */ - already_AddRefed GetCanvasLayer(nsDisplayListBuilder* aBuilder, - Layer* aOldLayer, - LayerManager* aManager); already_AddRefed GetAsImage(); bool UpdateWebRenderCanvasData(nsDisplayListBuilder* aBuilder, WebRenderCanvasData* aCanvasData); bool InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder, CanvasRenderer* aRenderer); - // Should return true if the canvas layer should always be marked inactive. - // We should return true here if we can't do accelerated compositing with - // a non-BasicCanvasLayer. - bool ShouldForceInactiveLayer(LayerManager* aManager); // Call this whenever we need future changes to the canvas // to trigger fresh invalidation requests. This needs to be called diff --git a/dom/webgpu/CanvasContext.cpp b/dom/webgpu/CanvasContext.cpp index 733baa9a04a9..6d73b4b9853f 100644 --- a/dom/webgpu/CanvasContext.cpp +++ b/dom/webgpu/CanvasContext.cpp @@ -53,12 +53,6 @@ JSObject* CanvasContext::WrapObject(JSContext* aCx, return dom::GPUCanvasContext_Binding::Wrap(aCx, this, aGivenProto); } -already_AddRefed CanvasContext::GetCanvasLayer( - nsDisplayListBuilder* aBuilder, layers::Layer* aOldLayer, - layers::LayerManager* aManager) { - return nullptr; -} - bool CanvasContext::UpdateWebRenderCanvasData( nsDisplayListBuilder* aBuilder, WebRenderCanvasData* aCanvasData) { return true; diff --git a/dom/webgpu/CanvasContext.h b/dom/webgpu/CanvasContext.h index 3519791c9468..bd6391b087ac 100644 --- a/dom/webgpu/CanvasContext.h +++ b/dom/webgpu/CanvasContext.h @@ -81,9 +81,6 @@ class CanvasContext final : public nsICanvasRenderingContextInternal, void SetOpaqueValueFromOpaqueAttr(bool aOpaqueAttrValue) override {} bool GetIsOpaque() override { return true; } NS_IMETHOD Reset() override { return NS_OK; } - already_AddRefed GetCanvasLayer(nsDisplayListBuilder* aBuilder, - Layer* aOldLayer, - LayerManager* aManager) override; bool UpdateWebRenderCanvasData(nsDisplayListBuilder* aBuilder, WebRenderCanvasData* aCanvasData) override; void MarkContextClean() override {} diff --git a/gfx/layers/CanvasRenderer.h b/gfx/layers/CanvasRenderer.h index ca3ae088cc34..458ab4e9033a 100644 --- a/gfx/layers/CanvasRenderer.h +++ b/gfx/layers/CanvasRenderer.h @@ -26,7 +26,6 @@ class nsICanvasRenderingContextInternal; namespace mozilla { namespace layers { -class ClientCanvasRenderer; class KnowsCompositor; class PersistentBufferProvider; class WebRenderCanvasRendererAsync; @@ -64,8 +63,6 @@ struct CanvasRendererData final { // different in different LayerManager. So that we have following classes // inherit ShareableCanvasRenderer. // -// ClientCanvasRenderer inherits ShareableCanvasRenderer and be used in -// ClientCanvasLayer. // WebRenderCanvasRenderer inherits ShareableCanvasRenderer and provides all // functionality that WebRender uses. // WebRenderCanvasRendererAsync inherits WebRenderCanvasRenderer and be used in @@ -81,17 +78,16 @@ struct CanvasRendererData final { // +-----------+-----------+ // |ShareableCanvasRenderer| // +-----+-----------------+ -// ^ ^ -// +-------------+ +-------+ -// | | -// +--------------------+ +---------+-------------+ -// |ClientCanvasRenderer| |WebRenderCanvasRenderer| -// +--------------------+ +-----------+-----------+ -// ^ -// | -// +-------------+--------------+ -// |WebRenderCanvasRendererAsync| -// +----------------------------+ +// ^ +// | +// +-----------+-----------+ +// |WebRenderCanvasRenderer| +// +-----------+-----------+ +// ^ +// | +// +-------------+--------------+ +// |WebRenderCanvasRendererAsync| +// +----------------------------+ class BorrowedSourceSurface final { public: @@ -135,7 +131,6 @@ class CanvasRenderer : public RefCounted { void ResetDirty() { mDirty = false; } bool IsDirty() const { return mDirty; } - virtual ClientCanvasRenderer* AsClientCanvasRenderer() { return nullptr; } virtual WebRenderCanvasRendererAsync* AsWebRenderCanvasRendererAsync() { return nullptr; } diff --git a/gfx/layers/Compositor.h b/gfx/layers/Compositor.h index 49591b3d5a0e..3aafe14edbf5 100644 --- a/gfx/layers/Compositor.h +++ b/gfx/layers/Compositor.h @@ -199,11 +199,6 @@ class Compositor : public TextureSourceProvider { */ virtual TextureFactoryIdentifier GetTextureFactoryIdentifier() = 0; - /** - * Properties of the compositor. - */ - virtual bool CanUseCanvasLayerForSize(const gfx::IntSize& aSize) = 0; - typedef uint32_t MakeCurrentFlags; static const MakeCurrentFlags ForceMakeCurrent = 0x1; /** diff --git a/gfx/layers/ImageLayers.cpp b/gfx/layers/ImageLayers.cpp deleted file mode 100644 index f58ec1e0ba4c..000000000000 --- a/gfx/layers/ImageLayers.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "ImageLayers.h" -#include "ImageContainer.h" // for ImageContainer -#include "gfxRect.h" // for gfxRect -#include "nsDebug.h" // for NS_ASSERTION -#include "nsISupportsImpl.h" // for ImageContainer::Release, etc -#include "gfx2DGlue.h" - -namespace mozilla { -namespace layers { - -ImageLayer::ImageLayer(LayerManager* aManager, void* aImplData) - : Layer(aManager, aImplData), - mSamplingFilter(gfx::SamplingFilter::GOOD), - mScaleMode(ScaleMode::SCALE_NONE) {} - -ImageLayer::~ImageLayer() = default; - -void ImageLayer::SetContainer(ImageContainer* aContainer) { - mContainer = aContainer; -} - -void ImageLayer::ComputeEffectiveTransforms( - const gfx::Matrix4x4& aTransformToSurface) { - gfx::Matrix4x4 local = GetLocalTransform(); - - // Snap image edges to pixel boundaries - gfxRect sourceRect(0, 0, 0, 0); - if (mContainer) { - sourceRect.SizeTo(gfx::SizeDouble(mContainer->GetCurrentSize())); - } - // Snap our local transform first, and snap the inherited transform as well. - // This makes our snapping equivalent to what would happen if our content - // was drawn into a PaintedLayer (gfxContext would snap using the local - // transform, then we'd snap again when compositing the PaintedLayer). - mEffectiveTransform = SnapTransform(local, sourceRect, nullptr) * - SnapTransformTranslation(aTransformToSurface, nullptr); - - if (mScaleMode != ScaleMode::SCALE_NONE && !sourceRect.IsZeroArea()) { - NS_ASSERTION(mScaleMode == ScaleMode::STRETCH, - "No other scalemodes than stretch and none supported yet."); - local.PreScale(mScaleToSize.width / sourceRect.Width(), - mScaleToSize.height / sourceRect.Height(), 1.0); - - mEffectiveTransformForBuffer = - SnapTransform(local, sourceRect, nullptr) * - SnapTransformTranslation(aTransformToSurface, nullptr); - } else { - mEffectiveTransformForBuffer = mEffectiveTransform; - } - - ComputeEffectiveTransformForMaskLayers(aTransformToSurface); -} - -} // namespace layers -} // namespace mozilla diff --git a/gfx/layers/ImageLayers.h b/gfx/layers/ImageLayers.h deleted file mode 100644 index fc7ef269e9d9..000000000000 --- a/gfx/layers/ImageLayers.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_IMAGELAYER_H -#define GFX_IMAGELAYER_H - -#include "Layers.h" // for Layer, etc -#include "mozilla/gfx/BaseSize.h" // for BaseSize -#include "mozilla/gfx/Point.h" // for IntSize -#include "mozilla/layers/LayersTypes.h" -#include "nscore.h" // for nsACString - -namespace mozilla { -namespace layers { - -class ImageContainer; - -/** - * A Layer which renders an Image. - */ -class ImageLayer : public Layer { - public: - /** - * CONSTRUCTION PHASE ONLY - * Set the ImageContainer. aContainer must have the same layer manager - * as this layer. - */ - virtual void SetContainer(ImageContainer* aContainer); - - /** - * CONSTRUCTION PHASE ONLY - * Set the filter used to resample this image if necessary. - */ - void SetSamplingFilter(gfx::SamplingFilter aSamplingFilter) { - if (mSamplingFilter != aSamplingFilter) { - MOZ_LAYERS_LOG_IF_SHADOWABLE(this, ("Layer::Mutated(%p) Filter", this)); - mSamplingFilter = aSamplingFilter; - Mutated(); - } - } - - /** - * CONSTRUCTION PHASE ONLY - * Set the size to scale the image to and the mode at which to scale. - */ - void SetScaleToSize(const gfx::IntSize& aSize, ScaleMode aMode) { - if (mScaleToSize != aSize || mScaleMode != aMode) { - mScaleToSize = aSize; - mScaleMode = aMode; - Mutated(); - } - } - - ImageContainer* GetContainer() { return mContainer; } - gfx::SamplingFilter GetSamplingFilter() { return mSamplingFilter; } - const gfx::IntSize& GetScaleToSize() { return mScaleToSize; } - ScaleMode GetScaleMode() { return mScaleMode; } - - MOZ_LAYER_DECL_NAME("ImageLayer", TYPE_IMAGE) - - void ComputeEffectiveTransforms( - const gfx::Matrix4x4& aTransformToSurface) override; - - const gfx::Matrix4x4& GetEffectiveTransformForBuffer() const override { - return mEffectiveTransformForBuffer; - } - - ImageLayer* AsImageLayer() override { return this; } - - protected: - ImageLayer(LayerManager* aManager, void* aImplData); - virtual ~ImageLayer(); - void PrintInfo(std::stringstream& aStream, const char* aPrefix) override; - - RefPtr mContainer; - gfx::SamplingFilter mSamplingFilter; - gfx::IntSize mScaleToSize; - ScaleMode mScaleMode; - gfx::Matrix4x4 mEffectiveTransformForBuffer; -}; - -} // namespace layers -} // namespace mozilla - -#endif /* GFX_IMAGELAYER_H */ diff --git a/gfx/layers/LayerManager.h b/gfx/layers/LayerManager.h index d7b2d1c1790e..7c888a416c17 100644 --- a/gfx/layers/LayerManager.h +++ b/gfx/layers/LayerManager.h @@ -61,10 +61,8 @@ class Layer; class LayerMetricsWrapper; class PaintedLayer; class ContainerLayer; -class ImageLayer; class ColorLayer; class CompositorBridgeChild; -class CanvasLayer; class ReadbackLayer; class ReadbackProcessor; class RefLayer; @@ -325,21 +323,11 @@ class LayerManager : public WindowRenderer { * Create a ContainerLayer for this manager's layer tree. */ virtual already_AddRefed CreateContainerLayer() = 0; - /** - * CONSTRUCTION PHASE ONLY - * Create an ImageLayer for this manager's layer tree. - */ - virtual already_AddRefed CreateImageLayer() = 0; /** * CONSTRUCTION PHASE ONLY * Create a ColorLayer for this manager's layer tree. */ virtual already_AddRefed CreateColorLayer() = 0; - /** - * CONSTRUCTION PHASE ONLY - * Create a CanvasLayer for this manager's layer tree. - */ - virtual already_AddRefed CreateCanvasLayer() = 0; /** * CONSTRUCTION PHASE ONLY * Create a ReadbackLayer for this manager's layer tree. @@ -387,10 +375,6 @@ class LayerManager : public WindowRenderer { virtual already_AddRefed CreateDrawTarget( const mozilla::gfx::IntSize& aSize, mozilla::gfx::SurfaceFormat aFormat); - virtual bool CanUseCanvasLayerForSize(const gfx::IntSize& aSize) { - return true; - } - /** * This setter can be used anytime. The user data for all keys is * initially null. Ownership pases to the layer manager. diff --git a/gfx/layers/Layers.cpp b/gfx/layers/Layers.cpp index 1e649eb63e1a..8ccd18c73435 100644 --- a/gfx/layers/Layers.cpp +++ b/gfx/layers/Layers.cpp @@ -15,7 +15,6 @@ #include // for remove_reference<>::type #include "CompositableHost.h" // for CompositableHost #include "GeckoProfiler.h" // for profiler_can_accept_markers, PROFILER_MARKER_TEXT -#include "ImageLayers.h" // for ImageLayer #include "LayerUserData.h" // for LayerUserData #include "ReadbackLayer.h" // for ReadbackLayer #include "TreeTraversal.h" // for ForwardIterator, ForEachNode, DepthFirstSearch, TraversalFlag, TraversalFl... @@ -1355,33 +1354,6 @@ void ColorLayer::PrintInfo(std::stringstream& aStream, const char* aPrefix) { aStream << " [color=" << mColor << "] [bounds=" << mBounds << "]"; } -CanvasLayer::CanvasLayer(LayerManager* aManager, void* aImplData) - : Layer(aManager, aImplData), mSamplingFilter(SamplingFilter::GOOD) {} - -CanvasLayer::~CanvasLayer() = default; - -void CanvasLayer::PrintInfo(std::stringstream& aStream, const char* aPrefix) { - Layer::PrintInfo(aStream, aPrefix); - if (mSamplingFilter != SamplingFilter::GOOD) { - aStream << " [filter=" << mSamplingFilter << "]"; - } -} - -RefPtr CanvasLayer::CreateOrGetCanvasRenderer() { - if (!mCanvasRenderer) { - mCanvasRenderer = CreateCanvasRendererInternal(); - } - - return mCanvasRenderer; -} - -void ImageLayer::PrintInfo(std::stringstream& aStream, const char* aPrefix) { - Layer::PrintInfo(aStream, aPrefix); - if (mSamplingFilter != SamplingFilter::GOOD) { - aStream << " [filter=" << mSamplingFilter << "]"; - } -} - void RefLayer::PrintInfo(std::stringstream& aStream, const char* aPrefix) { ContainerLayer::PrintInfo(aStream, aPrefix); if (mId.IsValid()) { diff --git a/gfx/layers/Layers.h b/gfx/layers/Layers.h index 5568be6734e5..0d91f168e5e8 100644 --- a/gfx/layers/Layers.h +++ b/gfx/layers/Layers.h @@ -49,7 +49,6 @@ #include "gfx2DGlue.h" // for ThebesPoint #include "mozilla/Assertions.h" // for AssertionConditionType, MOZ_ASSERT, MOZ_A... #include "mozilla/DebugOnly.h" // for DebugOnly -#include "mozilla/layers/CanvasRenderer.h" // for CanvasRenderer #include "mozilla/layers/LayersTypes.h" // for MOZ_LAYERS_LOG_IF_SHADOWABLE, LayersId, EventRegionsO... #include "nsDebug.h" // for NS_ASSERTION, NS_WARNING @@ -67,10 +66,8 @@ class Animation; class AsyncPanZoomController; class PaintedLayer; class ContainerLayer; -class ImageLayer; class ColorLayer; class CompositorAnimations; -class CanvasLayer; class RefLayer; class SpecificLayerAttributes; class Compositor; @@ -880,18 +877,6 @@ class Layer { */ virtual ColorLayer* AsColorLayer() { return nullptr; } - /** - * Dynamic cast to a Canvas. Returns null if this is not a - * ColorLayer. - */ - virtual CanvasLayer* AsCanvasLayer() { return nullptr; } - - /** - * Dynamic cast to an Image. Returns null if this is not a - * ColorLayer. - */ - virtual ImageLayer* AsImageLayer() { return nullptr; } - // These getters can be used anytime. They return the effective // values that should be used when drawing this layer to screen, // accounting for this layer possibly being a shadow. @@ -1727,101 +1712,6 @@ class ColorLayer : public Layer { gfx::DeviceColor mColor; }; -/** - * A Layer for HTML Canvas elements. It's backed by either a - * gfxASurface or a GLContext (for WebGL layers), and has some control - * for intelligent updating from the source if necessary (for example, - * if hardware compositing is not available, for reading from the GL - * buffer into an image surface that we can layer composite.) - * - * After Initialize is called, the underlying canvas Surface/GLContext - * must not be modified during a layer transaction. - */ -class CanvasLayer : public Layer { - public: - void SetBounds(gfx::IntRect aBounds) { mBounds = aBounds; } - - CanvasLayer* AsCanvasLayer() override { return this; } - - /** - * Notify this CanvasLayer that the canvas surface contents have - * changed (or will change) before the next transaction. - */ - void Updated() { - mCanvasRenderer->SetDirty(); - SetInvalidRectToVisibleRegion(); - } - - /** - * Notify this CanvasLayer that the canvas surface contents have - * been painted since the last change. - */ - void Painted() { mCanvasRenderer->ResetDirty(); } - - /** - * Returns true if the canvas surface contents have changed since the - * last paint. - */ - bool IsDirty() { - // We can only tell if we are dirty if we're part of the - // widget's retained layer tree. - if (!mManager || !mManager->IsWidgetLayerManager()) { - return true; - } - return mCanvasRenderer->IsDirty(); - } - - const nsIntRect& GetBounds() const { return mBounds; } - - RefPtr CreateOrGetCanvasRenderer(); - - public: - /** - * CONSTRUCTION PHASE ONLY - * Set the filter used to resample this image (if necessary). - */ - void SetSamplingFilter(gfx::SamplingFilter aSamplingFilter) { - if (mSamplingFilter != aSamplingFilter) { - MOZ_LAYERS_LOG_IF_SHADOWABLE(this, ("Layer::Mutated(%p) Filter", this)); - mSamplingFilter = aSamplingFilter; - Mutated(); - } - } - gfx::SamplingFilter GetSamplingFilter() const { return mSamplingFilter; } - - MOZ_LAYER_DECL_NAME("CanvasLayer", TYPE_CANVAS) - - void ComputeEffectiveTransforms( - const gfx::Matrix4x4& aTransformToSurface) override { - // Snap our local transform first, and snap the inherited transform as well. - // This makes our snapping equivalent to what would happen if our content - // was drawn into a PaintedLayer (gfxContext would snap using the local - // transform, then we'd snap again when compositing the PaintedLayer). - mEffectiveTransform = - SnapTransform(GetLocalTransform(), - gfxRect(0, 0, mBounds.Width(), mBounds.Height()), - nullptr) * - SnapTransformTranslation(aTransformToSurface, nullptr); - ComputeEffectiveTransformForMaskLayers(aTransformToSurface); - } - - protected: - CanvasLayer(LayerManager* aManager, void* aImplData); - virtual ~CanvasLayer(); - - void PrintInfo(std::stringstream& aStream, const char* aPrefix) override; - - virtual RefPtr CreateCanvasRendererInternal() = 0; - - RefPtr mCanvasRenderer; - gfx::SamplingFilter mSamplingFilter; - - /** - * 0, 0, canvaswidth, canvasheight - */ - gfx::IntRect mBounds; -}; - /** * ContainerLayer that refers to a "foreign" layer tree, through an * ID. Usage of RefLayer looks like diff --git a/gfx/layers/apz/src/ScrollThumbUtils.cpp b/gfx/layers/apz/src/ScrollThumbUtils.cpp index 0aa28ed5ad08..77b533acd1c6 100644 --- a/gfx/layers/apz/src/ScrollThumbUtils.cpp +++ b/gfx/layers/apz/src/ScrollThumbUtils.cpp @@ -7,6 +7,7 @@ #include "ScrollThumbUtils.h" #include "AsyncPanZoomController.h" #include "FrameMetrics.h" +#include "gfxPlatform.h" #include "mozilla/gfx/Matrix.h" namespace mozilla { diff --git a/gfx/layers/apz/test/gtest/APZTestCommon.h b/gfx/layers/apz/test/gtest/APZTestCommon.h index 7647530e878d..6d564904dbad 100644 --- a/gfx/layers/apz/test/gtest/APZTestCommon.h +++ b/gfx/layers/apz/test/gtest/APZTestCommon.h @@ -29,6 +29,7 @@ #include "apz/src/AsyncPanZoomController.h" #include "apz/src/HitTestingTreeNode.h" #include "base/task.h" +#include "gfxPlatform.h" #include "Layers.h" #include "TestLayers.h" #include "UnitTransforms.h" diff --git a/gfx/layers/client/ClientCanvasRenderer.h b/gfx/layers/client/ClientCanvasRenderer.h deleted file mode 100644 index 5ea857b10fa5..000000000000 --- a/gfx/layers/client/ClientCanvasRenderer.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_CLIENTCANVASRENDERER_H -#define GFX_CLIENTCANVASRENDERER_H - -#include "ShareableCanvasRenderer.h" - -namespace mozilla { -namespace layers { - -class ClientCanvasLayer; - -class ClientCanvasRenderer final : public ShareableCanvasRenderer { - public: - explicit ClientCanvasRenderer(ClientCanvasLayer* aLayer) : mLayer(aLayer) {} - - ClientCanvasRenderer* AsClientCanvasRenderer() override { return this; } - - CompositableForwarder* GetForwarder() override; - - bool CreateCompositable() override; - - protected: - ClientCanvasLayer* mLayer; -}; - -} // namespace layers -} // namespace mozilla - -#endif diff --git a/gfx/layers/d3d11/CompositorD3D11.cpp b/gfx/layers/d3d11/CompositorD3D11.cpp index a9b8d5259c71..ed86216becb0 100644 --- a/gfx/layers/d3d11/CompositorD3D11.cpp +++ b/gfx/layers/d3d11/CompositorD3D11.cpp @@ -346,16 +346,6 @@ TextureFactoryIdentifier CompositorD3D11::GetTextureFactoryIdentifier() { return ident; } -bool CompositorD3D11::CanUseCanvasLayerForSize(const gfx::IntSize& aSize) { - int32_t maxTextureSize = GetMaxTextureSize(); - - if (aSize.width > maxTextureSize || aSize.height > maxTextureSize) { - return false; - } - - return true; -} - int32_t CompositorD3D11::GetMaxTextureSize() const { return GetMaxTextureSizeForFeatureLevel(mFeatureLevel); } diff --git a/gfx/layers/d3d11/CompositorD3D11.h b/gfx/layers/d3d11/CompositorD3D11.h index c1a0c81c236e..645c0187737f 100644 --- a/gfx/layers/d3d11/CompositorD3D11.h +++ b/gfx/layers/d3d11/CompositorD3D11.h @@ -40,7 +40,6 @@ class CompositorD3D11 : public Compositor { already_AddRefed CreateDataTextureSource( TextureFlags aFlags = TextureFlags::NO_FLAGS) override; - bool CanUseCanvasLayerForSize(const gfx::IntSize& aSize) override; int32_t GetMaxTextureSize() const final; void MakeCurrent(MakeCurrentFlags aFlags = 0) override {} diff --git a/gfx/layers/ipc/LayersMessages.ipdlh b/gfx/layers/ipc/LayersMessages.ipdlh index 50f5b1e3cdc4..10ac3c1a40e5 100644 --- a/gfx/layers/ipc/LayersMessages.ipdlh +++ b/gfx/layers/ipc/LayersMessages.ipdlh @@ -11,7 +11,6 @@ include protocol PTexture; include "gfxipc/ShadowLayerUtils.h"; include "mozilla/GfxMessageUtils.h"; -include "ImageLayers.h"; using mozilla::gfx::Glyph from "mozilla/gfx/2D.h"; using mozilla::gfx::SamplingFilter from "mozilla/gfx/2D.h"; @@ -82,9 +81,7 @@ struct TargetConfig { // Create a shadow layer for |layer| struct OpCreatePaintedLayer { LayerHandle layer; }; struct OpCreateContainerLayer { LayerHandle layer; }; -struct OpCreateImageLayer { LayerHandle layer; }; struct OpCreateColorLayer { LayerHandle layer; }; -struct OpCreateCanvasLayer { LayerHandle layer; }; struct OpCreateRefLayer { LayerHandle layer; }; struct OpAttachCompositable { diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build index 3bd09bab2eb2..7c86b089efcd 100755 --- a/gfx/layers/moz.build +++ b/gfx/layers/moz.build @@ -18,7 +18,6 @@ EXPORTS += [ "GLImages.h", "GPUVideoImage.h", "ImageContainer.h", - "ImageLayers.h", "ImageTypes.h", "IMFYCbCrImage.h", "Layers.h", @@ -366,7 +365,6 @@ UNIFIED_SOURCES += [ "FrameMetrics.cpp", "GLImages.cpp", "ImageDataSerializer.cpp", - "ImageLayers.cpp", "ipc/APZChild.cpp", "ipc/APZCTreeManagerChild.cpp", "ipc/APZCTreeManagerParent.cpp", diff --git a/gfx/layers/opengl/CompositorOGL.h b/gfx/layers/opengl/CompositorOGL.h index e43eb6bdaaa7..6214d1accc34 100644 --- a/gfx/layers/opengl/CompositorOGL.h +++ b/gfx/layers/opengl/CompositorOGL.h @@ -200,12 +200,6 @@ class CompositorOGL final : public Compositor { bool SupportsPartialTextureUpdate() override; - bool CanUseCanvasLayerForSize(const gfx::IntSize& aSize) override { - if (!mGLContext) return false; - int32_t maxSize = GetMaxTextureSize(); - return aSize <= gfx::IntSize(maxSize, maxSize); - } - int32_t GetMaxTextureSize() const override; /** diff --git a/gfx/layers/wr/WebRenderCommandBuilder.h b/gfx/layers/wr/WebRenderCommandBuilder.h index 0ef713281c07..3b30cd662a89 100644 --- a/gfx/layers/wr/WebRenderCommandBuilder.h +++ b/gfx/layers/wr/WebRenderCommandBuilder.h @@ -23,7 +23,6 @@ namespace mozilla { namespace layers { -class CanvasLayer; class ImageClient; class ImageContainer; class WebRenderBridgeChild; diff --git a/gfx/layers/wr/WebRenderLayerManager.h b/gfx/layers/wr/WebRenderLayerManager.h index bc3b70fe291e..c5dea433c67d 100644 --- a/gfx/layers/wr/WebRenderLayerManager.h +++ b/gfx/layers/wr/WebRenderLayerManager.h @@ -103,9 +103,7 @@ class WebRenderLayerManager final : public LayerManager { already_AddRefed CreateContainerLayer() override { return nullptr; } - already_AddRefed CreateImageLayer() override { return nullptr; } already_AddRefed CreateColorLayer() override { return nullptr; } - already_AddRefed CreateCanvasLayer() override { return nullptr; } bool NeedsWidgetInvalidation() override { return false; } diff --git a/gfx/layers/wr/WebRenderUserData.h b/gfx/layers/wr/WebRenderUserData.h index 49426c163000..46c215004350 100644 --- a/gfx/layers/wr/WebRenderUserData.h +++ b/gfx/layers/wr/WebRenderUserData.h @@ -37,7 +37,6 @@ class SourceSurface; namespace layers { class BasicLayerManager; -class CanvasLayer; class ImageClient; class ImageContainer; class WebRenderBridgeChild; diff --git a/gfx/tests/gtest/TestLayers.cpp b/gfx/tests/gtest/TestLayers.cpp index f98207406a33..4073e35cbf47 100644 --- a/gfx/tests/gtest/TestLayers.cpp +++ b/gfx/tests/gtest/TestLayers.cpp @@ -4,6 +4,7 @@ */ #include "TestLayers.h" +#include "gfxPlatform.h" #include "gtest/gtest.h" #include "gmock/gmock.h" #include "LayerUserData.h" @@ -55,9 +56,6 @@ class TestLayerManager : public LayerManager { virtual void GetBackendName(nsAString& aName) {} virtual LayersBackend GetBackendType() { return LayersBackend::LAYERS_BASIC; } virtual bool BeginTransaction(const nsCString& = nsCString()) { return true; } - virtual already_AddRefed CreateImageLayer() { - MOZ_CRASH("Not implemented."); - } virtual already_AddRefed CreatePaintedLayer() { RefPtr layer = new TestPaintedLayer(this); return layer.forget(); @@ -70,9 +68,6 @@ class TestLayerManager : public LayerManager { const nsCString& = nsCString()) { return true; } - virtual already_AddRefed CreateCanvasLayer() { - MOZ_CRASH("Not implemented."); - } virtual void EndTransaction(DrawPaintedLayerCallback aCallback, void* aCallbackData, EndTransactionFlags aFlags = END_DEFAULT) {} diff --git a/gfx/tests/gtest/TestTextures.cpp b/gfx/tests/gtest/TestTextures.cpp index 4d01ed4c9e27..2859c794fe8d 100644 --- a/gfx/tests/gtest/TestTextures.cpp +++ b/gfx/tests/gtest/TestTextures.cpp @@ -16,6 +16,7 @@ #include "mozilla/RefPtr.h" #include "gfx2DGlue.h" #include "gfxImageSurface.h" +#include "gfxPlatform.h" #include "gfxTypes.h" #include "ImageContainer.h" #include "mozilla/layers/ImageDataSerializer.h" diff --git a/layout/generic/nsHTMLCanvasFrame.cpp b/layout/generic/nsHTMLCanvasFrame.cpp index 6a8cf9bf4ba3..6a0bbc5d9bba 100644 --- a/layout/generic/nsHTMLCanvasFrame.cpp +++ b/layout/generic/nsHTMLCanvasFrame.cpp @@ -20,7 +20,6 @@ #include "nsDisplayList.h" #include "nsLayoutUtils.h" #include "nsStyleUtil.h" -#include "ImageLayers.h" #include "Layers.h" #include "ActiveLayerTracker.h" diff --git a/layout/generic/nsIFrame.cpp b/layout/generic/nsIFrame.cpp index 1a75481796da..c172247d5c3c 100644 --- a/layout/generic/nsIFrame.cpp +++ b/layout/generic/nsIFrame.cpp @@ -80,7 +80,6 @@ #include "nsNameSpaceManager.h" #include "nsIPercentBSizeObserver.h" #include "nsStyleStructInlines.h" -#include "ImageLayers.h" #include "nsBidiPresUtils.h" #include "RubyUtils.h" diff --git a/layout/generic/nsImageFrame.cpp b/layout/generic/nsImageFrame.cpp index 8ad5325c4e84..14b7da0cddda 100644 --- a/layout/generic/nsImageFrame.cpp +++ b/layout/generic/nsImageFrame.cpp @@ -78,7 +78,6 @@ #include "nsBidiPresUtils.h" #include "gfxRect.h" -#include "ImageLayers.h" #include "ImageRegion.h" #include "ImageContainer.h" #include "mozilla/ServoStyleSet.h" diff --git a/layout/generic/nsImageMap.cpp b/layout/generic/nsImageMap.cpp index 0dddeb1e5de8..c9674fb84372 100644 --- a/layout/generic/nsImageMap.cpp +++ b/layout/generic/nsImageMap.cpp @@ -23,7 +23,6 @@ #include "nsIContentInlines.h" #include "nsIScriptError.h" #include "nsContentUtils.h" -#include "ImageLayers.h" #ifdef ACCESSIBILITY # include "nsAccessibilityService.h" diff --git a/layout/generic/nsVideoFrame.cpp b/layout/generic/nsVideoFrame.cpp index 4abd70b086bd..83462fa7d7d1 100644 --- a/layout/generic/nsVideoFrame.cpp +++ b/layout/generic/nsVideoFrame.cpp @@ -28,7 +28,6 @@ #include "nsContentUtils.h" #include "nsLayoutUtils.h" #include "ImageContainer.h" -#include "ImageLayers.h" #include "nsStyleUtil.h" #include diff --git a/layout/painting/nsDisplayList.cpp b/layout/painting/nsDisplayList.cpp index 1e46e6736e2d..6f7de3a3210f 100644 --- a/layout/painting/nsDisplayList.cpp +++ b/layout/painting/nsDisplayList.cpp @@ -53,11 +53,11 @@ #include "mozilla/MathAlgorithms.h" #include "imgIContainer.h" +#include "Layers.h" #include "nsBoxFrame.h" #include "nsImageFrame.h" #include "nsSubDocumentFrame.h" #include "nsViewManager.h" -#include "ImageLayers.h" #include "ImageContainer.h" #include "nsCanvasFrame.h" #include "nsSubDocumentFrame.h" diff --git a/layout/xul/nsImageBoxFrame.cpp b/layout/xul/nsImageBoxFrame.cpp index d2d5fb916436..9016b2b3c503 100644 --- a/layout/xul/nsImageBoxFrame.cpp +++ b/layout/xul/nsImageBoxFrame.cpp @@ -38,7 +38,6 @@ #include "nsIURI.h" #include "nsThreadUtils.h" #include "nsDisplayList.h" -#include "ImageLayers.h" #include "ImageRegion.h" #include "ImageContainer.h" #include "nsIContent.h"