Bug 1400407 - Part 2: Cleanup DOM Canvas mirroring dead code
- Refactored out Canvas layer mirror specialization, no longer needed
as we are no longer implementing a TextureForwarder to submit VR frames.
MozReview-Commit-ID: ArZO6M9kNLg
--- a/dom/canvas/CanvasRenderingContext2D.cpp
+++ b/dom/canvas/CanvasRenderingContext2D.cpp
@@ -6090,24 +6090,18 @@ void CanvasRenderingContext2D::RemoveDra
delete mDrawObserver;
mDrawObserver = nullptr;
}
}
already_AddRefed<Layer>
CanvasRenderingContext2D::GetCanvasLayer(nsDisplayListBuilder* aBuilder,
Layer* aOldLayer,
- LayerManager* aManager,
- bool aMirror /* = false */)
-{
- if (aMirror) {
- // Not supported for CanvasRenderingContext2D
- return nullptr;
- }
-
+ LayerManager* aManager)
+{
if (mOpaque || mIsSkiaGL) {
// If we're opaque then make sure we have a surface so we paint black
// instead of transparent.
// If we're using SkiaGL, then SkiaGLTex() below needs the target to
// be accessible.
EnsureTarget();
}
@@ -6168,29 +6162,28 @@ CanvasRenderingContext2D::GetCanvasLayer
// (at the latest), at which time this userData will be destroyed,
// releasing the reference to the element.
// The userData will receive DidTransactionCallbacks, which flush the
// the invalidation state to indicate that the canvas is up to date.
userData = new CanvasRenderingContext2DUserData(this);
canvasLayer->SetUserData(&g2DContextLayerUserData, userData);
CanvasRenderer* canvasRenderer = canvasLayer->CreateOrGetCanvasRenderer();
- InitializeCanvasRenderer(aBuilder, canvasRenderer, aMirror);
+ InitializeCanvasRenderer(aBuilder, canvasRenderer);
uint32_t flags = mOpaque ? Layer::CONTENT_OPAQUE : 0;
canvasLayer->SetContentFlags(flags);
mResetLayer = false;
return canvasLayer.forget();
}
bool
CanvasRenderingContext2D::InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder,
- CanvasRenderer* aRenderer,
- bool aMirror)
+ CanvasRenderer* aRenderer)
{
CanvasInitializeData data;
data.mSize = GetSize();
data.mHasAlpha = !mOpaque;
data.mPreTransCallback = CanvasRenderingContext2DUserData::PreTransactionCallback;
data.mPreTransCallbackData = this;
data.mDidTransCallback = CanvasRenderingContext2DUserData::DidTransactionCallback;
data.mDidTransCallbackData = this;
--- a/dom/canvas/CanvasRenderingContext2D.h
+++ b/dom/canvas/CanvasRenderingContext2D.h
@@ -461,21 +461,19 @@ public:
return mTarget->Snapshot();
}
virtual void SetIsOpaque(bool aIsOpaque) override;
bool GetIsOpaque() override { return mOpaque; }
NS_IMETHOD Reset() override;
already_AddRefed<Layer> GetCanvasLayer(nsDisplayListBuilder* aBuilder,
Layer* aOldLayer,
- LayerManager* aManager,
- bool aMirror = false) override;
+ LayerManager* aManager) override;
bool InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder,
- CanvasRenderer* aRenderer,
- bool aMirror = false) override;
+ CanvasRenderer* aRenderer) override;
virtual bool ShouldForceInactiveLayer(LayerManager* aManager) override;
void MarkContextClean() override;
void MarkContextCleanForFrameCapture() override;
bool IsContextCleanForFrameCapture() override;
NS_IMETHOD SetIsIPC(bool aIsIPC) override;
// this rect is in canvas device space
void Redraw(const mozilla::gfx::Rect& aR);
NS_IMETHOD Redraw(const gfxRect& aR) override { Redraw(ToRect(aR)); return NS_OK; }
--- a/dom/canvas/ImageBitmapRenderingContext.cpp
+++ b/dom/canvas/ImageBitmapRenderingContext.cpp
@@ -221,24 +221,18 @@ ImageBitmapRenderingContext::Reset()
mImage = nullptr;
return NS_OK;
}
already_AddRefed<Layer>
ImageBitmapRenderingContext::GetCanvasLayer(nsDisplayListBuilder* aBuilder,
Layer* aOldLayer,
- LayerManager* aManager,
- bool aMirror /* = false */)
+ LayerManager* aManager)
{
- if (aMirror) {
- // Not supported for ImageBitmapRenderingContext
- return nullptr;
- }
-
if (!mImage) {
// No DidTransactionCallback will be received, so mark the context clean
// now so future invalidations will be dispatched.
MarkContextClean();
return nullptr;
}
RefPtr<ImageLayer> imageLayer;
--- a/dom/canvas/ImageBitmapRenderingContext.h
+++ b/dom/canvas/ImageBitmapRenderingContext.h
@@ -66,18 +66,17 @@ public:
virtual already_AddRefed<mozilla::gfx::SourceSurface>
GetSurfaceSnapshot(gfxAlphaType* aOutAlphaType) override;
virtual void SetIsOpaque(bool aIsOpaque) override;
virtual bool GetIsOpaque() override;
NS_IMETHOD Reset() override;
virtual already_AddRefed<Layer> GetCanvasLayer(nsDisplayListBuilder* aBuilder,
Layer* aOldLayer,
- LayerManager* aManager,
- bool aMirror = false) override;
+ LayerManager* aManager) override;
virtual void MarkContextClean() override;
NS_IMETHOD Redraw(const gfxRect& aDirty) override;
NS_IMETHOD SetIsIPC(bool aIsIPC) override;
virtual void DidRefresh() override;
virtual void MarkContextCleanForFrameCapture() override;
--- a/dom/canvas/WebGLContext.h
+++ b/dom/canvas/WebGLContext.h
@@ -428,22 +428,20 @@ public:
const TexTarget texTarget = TexImageTargetToTexTarget(texImgTarget);
return ActiveBoundTextureForTarget(texTarget);
}
void InvalidateResolveCacheForTextureWithTexUnit(const GLuint);
already_AddRefed<Layer>
GetCanvasLayer(nsDisplayListBuilder* builder, Layer* oldLayer,
- LayerManager* manager,
- bool aMirror = false) override;
+ LayerManager* manager) override;
bool
InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder,
- CanvasRenderer* aRenderer,
- bool aMirror = false) override;
+ CanvasRenderer* aRenderer) override;
// Note that 'clean' here refers to its invalidation state, not the
// contents of the buffer.
void MarkContextClean() override { mInvalidated = false; }
void MarkContextCleanForFrameCapture() override { mCapturedFrameInvalidated = false; }
bool IsContextCleanForFrameCapture() override { return !mCapturedFrameInvalidated; }
--- a/dom/canvas/nsICanvasRenderingContextInternal.h
+++ b/dom/canvas/nsICanvasRenderingContextInternal.h
@@ -134,21 +134,19 @@ public:
// Invalidate this context and release any held resources, in preperation
// 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<Layer> GetCanvasLayer(nsDisplayListBuilder* builder,
Layer *oldLayer,
- LayerManager *manager,
- bool aMirror = false) = 0;
+ LayerManager *manager) = 0;
virtual bool InitializeCanvasRenderer(nsDisplayListBuilder* aBuilder,
- CanvasRenderer* aRenderer,
- bool aMirror = false) { return true; }
+ CanvasRenderer* aRenderer) { return true; }
// 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;