From cde3f4b00b1e7f5e797b7acf9b93ef84396d3ce4 Mon Sep 17 00:00:00 2001 From: Jeff Muizelaar Date: Sun, 17 Oct 2021 01:28:41 +0000 Subject: [PATCH] Bug 1736077 - Remove unusued LayerManager.cpp. r=gfx-reviewers,lsalzman Differential Revision: https://phabricator.services.mozilla.com/D128632 --- dom/html/HTMLMediaElement.cpp | 2 +- dom/media/VideoSegment.cpp | 2 +- dom/media/webrtc/MediaEngineDefault.cpp | 2 +- .../webrtc/MediaEngineRemoteVideoSource.cpp | 3 +- .../WebrtcMediaDataDecoderCodec.cpp | 3 +- .../webrtc/transportbridge/MediaPipeline.cpp | 2 +- gfx/layers/LayerManager.cpp | 110 ------------------ gfx/layers/Layers.cpp | 63 +--------- gfx/layers/moz.build | 1 - gfx/layers/wr/WebRenderCommandBuilder.cpp | 3 +- gfx/layers/wr/WebRenderUserData.cpp | 2 +- image/Image.cpp | 2 +- widget/nsBaseWidget.cpp | 2 +- 13 files changed, 13 insertions(+), 184 deletions(-) delete mode 100644 gfx/layers/LayerManager.cpp diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index d9e2bed226f8..c3e4fc05e1ac 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -6151,7 +6151,7 @@ VideoFrameContainer* HTMLMediaElement::GetVideoFrameContainer() { } mVideoFrameContainer = new VideoFrameContainer( - this, LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS)); + this, MakeAndAddRef(ImageContainer::ASYNCHRONOUS)); return mVideoFrameContainer; } diff --git a/dom/media/VideoSegment.cpp b/dom/media/VideoSegment.cpp index 7422539d7db0..056e7ba4c19b 100644 --- a/dom/media/VideoSegment.cpp +++ b/dom/media/VideoSegment.cpp @@ -46,7 +46,7 @@ void VideoFrame::TakeFrom(VideoFrame* aFrame) { already_AddRefed VideoFrame::CreateBlackImage( const gfx::IntSize& aSize) { RefPtr container = - LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS); + MakeAndAddRef(ImageContainer::ASYNCHRONOUS); RefPtr image = container->CreatePlanarYCbCrImage(); if (!image) { return nullptr; diff --git a/dom/media/webrtc/MediaEngineDefault.cpp b/dom/media/webrtc/MediaEngineDefault.cpp index a75977e20810..64051d4a410b 100644 --- a/dom/media/webrtc/MediaEngineDefault.cpp +++ b/dom/media/webrtc/MediaEngineDefault.cpp @@ -246,7 +246,7 @@ nsresult MediaEngineDefaultVideoSource::Start() { } if (!mImageContainer) { - mImageContainer = layers::LayerManager::CreateImageContainer( + mImageContainer = MakeAndAddRef( layers::ImageContainer::ASYNCHRONOUS); } diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp index 3eda162b5730..1b87bf5ffea4 100644 --- a/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp +++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.cpp @@ -15,6 +15,7 @@ #include "Tracing.h" #include "VideoFrameUtils.h" #include "VideoUtils.h" +#include "ImageContainer.h" #include "webrtc/common_video/include/video_frame_buffer.h" #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" @@ -247,7 +248,7 @@ void MediaEngineRemoteVideoSource::SetTrack(const RefPtr& aTrack, MOZ_ASSERT(aTrack->AsSourceTrack()); if (!mImageContainer) { - mImageContainer = layers::LayerManager::CreateImageContainer( + mImageContainer = MakeAndAddRef( layers::ImageContainer::ASYNCHRONOUS); } diff --git a/dom/media/webrtc/libwebrtcglue/WebrtcMediaDataDecoderCodec.cpp b/dom/media/webrtc/libwebrtcglue/WebrtcMediaDataDecoderCodec.cpp index 85b626d24e71..1c9820840b97 100644 --- a/dom/media/webrtc/libwebrtcglue/WebrtcMediaDataDecoderCodec.cpp +++ b/dom/media/webrtc/libwebrtcglue/WebrtcMediaDataDecoderCodec.cpp @@ -9,6 +9,7 @@ #include "MediaDataDecoderProxy.h" #include "PDMFactory.h" #include "VideoUtils.h" +#include "ImageContainer.h" #include "mozilla/layers/ImageBridgeChild.h" #include "mozilla/media/MediaUtils.h" #include "webrtc/rtc_base/keep_ref_until_done.h" @@ -19,7 +20,7 @@ WebrtcMediaDataDecoder::WebrtcMediaDataDecoder(nsACString& aCodecMimeType) : mThreadPool(GetMediaThreadPool(MediaThreadType::SUPERVISOR)), mTaskQueue(new TaskQueue(do_AddRef(mThreadPool), "WebrtcMediaDataDecoder::mTaskQueue")), - mImageContainer(layers::LayerManager::CreateImageContainer( + mImageContainer(MakeAndAddRef( layers::ImageContainer::ASYNCHRONOUS)), mFactory(new PDMFactory()), mTrackType(TrackInfo::kUndefinedTrack), diff --git a/dom/media/webrtc/transportbridge/MediaPipeline.cpp b/dom/media/webrtc/transportbridge/MediaPipeline.cpp index 5d18171e6229..1456c85e4fc3 100644 --- a/dom/media/webrtc/transportbridge/MediaPipeline.cpp +++ b/dom/media/webrtc/transportbridge/MediaPipeline.cpp @@ -1559,7 +1559,7 @@ class MediaPipelineReceiveVideo::PipelineListener const PrincipalHandle& aPrincipalHandle) : GenericReceiveListener(std::move(aMainThread), aTrack), mImageContainer( - LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS)), + MakeAndAddRef(ImageContainer::ASYNCHRONOUS)), mMutex("MediaPipelineReceiveVideo::PipelineListener::mMutex"), mPrincipalHandle(aPrincipalHandle) {} diff --git a/gfx/layers/LayerManager.cpp b/gfx/layers/LayerManager.cpp deleted file mode 100644 index 7d4dfec9d8c1..000000000000 --- a/gfx/layers/LayerManager.cpp +++ /dev/null @@ -1,110 +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 "mozilla/layers/LayerManager.h" - -#include // for uint64_t, uint8_t -#include // for abort -#include // for copy, copy_backward -#include // for move, forward -#include "FrameMetrics.h" // for FrameMetrics -#include "ImageContainer.h" // for ImageContainer, ImageContainer::Mode -#include "LayerUserData.h" // for LayerUserData -#include "Layers.h" // for RecordCompositionPayloadsPresented, Layer -#include "TreeTraversal.h" // for ForwardIterator, BreadthFirstSearch -#include "gfxPlatform.h" // for gfxPlatform -#include "mozilla/AlreadyAddRefed.h" // for already_AddRefed -#include "mozilla/ArrayIterator.h" // for ArrayIterator -#include "mozilla/Assertions.h" // for AssertionConditionType, MOZ_ASSERT, MOZ_ASSERT_HELPER1 -#include "mozilla/EffectSet.h" // for EffectSet -#include "mozilla/Logging.h" // for LazyLogModule, LogModule (ptr only) -#include "mozilla/RefPtr.h" // for RefPtr, getter_AddRefs, RefPtrGetterAddRefs -#include "mozilla/StaticPrefs_layers.h" // for layers_componentalpha_enabled_AtStartup_DoNotUseDirectly -#include "mozilla/UniquePtr.h" // for UniquePtr -#include "mozilla/dom/Animation.h" // for Animation -#include "mozilla/dom/AnimationEffect.h" // for AnimationEffect -#include "mozilla/gfx/Point.h" // for IntSize -#include "mozilla/gfx/Types.h" // for SurfaceFormat, gfx -#include "mozilla/gfx/UserData.h" // for UserData, UserDataKey (ptr only) -#include "mozilla/layers/LayersTypes.h" // for CompositionPayload -#include "mozilla/layers/PersistentBufferProvider.h" // for PersistentBufferProviderBasic, PersistentBufferProvider (ptr only) -#include "mozilla/layers/ScrollableLayerGuid.h" // for ScrollableLayerGuid, ScrollableLayerGuid::NULL_SCROLL_ID, ScrollableLayerGu... -#include "nsHashKeys.h" // for nsUint64HashKey -#include "nsRefPtrHashtable.h" // for nsRefPtrHashtable -#include "nsTArray.h" // for nsTArray - -uint8_t gLayerManagerLayerBuilder; - -// Undo the damage done by mozzconf.h -#undef compress -#include "mozilla/Compression.h" - -namespace mozilla { -namespace layers { - -using namespace mozilla::gfx; -using namespace mozilla::Compression; - -//-------------------------------------------------- -// LayerManager - -LayerManager::LayerManager() - : mDestroyed(false), - mSnapEffectiveTransforms(true), - mId(0), - mInTransaction(false), - mContainsSVG(false), - mPaintedPixelCount(0) {} - -LayerManager::~LayerManager() = default; - -void LayerManager::Destroy() { - mDestroyed = true; - mUserData.Destroy(); - mPartialPrerenderedAnimations.Clear(); -} - -/* static */ mozilla::LogModule* LayerManager::GetLog() { - static LazyLogModule sLog("Layers"); - return sLog; -} - -already_AddRefed LayerManager::CreateOptimalDrawTarget( - const gfx::IntSize& aSize, SurfaceFormat aFormat) { - return gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget(aSize, - aFormat); -} - -already_AddRefed LayerManager::CreateOptimalMaskDrawTarget( - const gfx::IntSize& aSize) { - return CreateOptimalDrawTarget(aSize, SurfaceFormat::A8); -} - -already_AddRefed LayerManager::CreateDrawTarget( - const IntSize& aSize, SurfaceFormat aFormat) { - return gfxPlatform::GetPlatform()->CreateOffscreenCanvasDrawTarget(aSize, - aFormat); -} - -already_AddRefed LayerManager::CreateImageContainer( - ImageContainer::Mode flag) { - RefPtr container = new ImageContainer(flag); - return container.forget(); -} - -/*static*/ -void LayerManager::LayerUserDataDestroy(void* data) { - delete static_cast(data); -} - -UniquePtr LayerManager::RemoveUserData(void* aKey) { - UniquePtr d(static_cast( - mUserData.Remove(static_cast(aKey)))); - return d; -} - -} // namespace layers -} // namespace mozilla diff --git a/gfx/layers/Layers.cpp b/gfx/layers/Layers.cpp index 01e8c9db5234..579bec7a3892 100644 --- a/gfx/layers/Layers.cpp +++ b/gfx/layers/Layers.cpp @@ -92,68 +92,7 @@ void WriteSnapshotToDumpFile(Compositor* aCompositor, DrawTarget* aTarget) { //-------------------------------------------------- // LayerManager -void LayerManager::Log(const char* aPrefix) { - if (!IsLogEnabled()) return; - - LogSelf(aPrefix); - - nsAutoCString pfx(aPrefix); - pfx += " "; - if (!GetRoot()) { - MOZ_LAYERS_LOG(("%s(null)", pfx.get())); - return; - } - -} - -void LayerManager::LogSelf(const char* aPrefix) { - nsAutoCString str; - std::stringstream ss; - PrintInfo(ss, aPrefix); - MOZ_LAYERS_LOG(("%s", ss.str().c_str())); -} - -void LayerManager::PrintInfo(std::stringstream& aStream, const char* aPrefix) { - aStream << aPrefix - << nsPrintfCString("%sLayerManager (0x%p)", Name(), this).get(); -} - -/*static*/ -bool LayerManager::IsLogEnabled() { - return MOZ_LOG_TEST(GetLog(), LogLevel::Debug); -} - -bool LayerManager::AddPendingScrollUpdateForNextTransaction( - ScrollableLayerGuid::ViewID aScrollId, - const ScrollPositionUpdate& aUpdateInfo) { - return true; -} - -Maybe> LayerManager::GetPendingScrollInfoUpdate( - ScrollableLayerGuid::ViewID aScrollId) { - auto p = mPendingScrollUpdates.Lookup(aScrollId); - if (!p) { - return Nothing(); - } - // We could have this function return a CopyableTArray or something, but it - // seems better to avoid implicit copies and just do the one explicit copy - // where we need it, here. - nsTArray copy; - copy.AppendElements(p.Data()); - return Some(std::move(copy)); -} - -std::unordered_set -LayerManager::ClearPendingScrollInfoUpdate() { - std::unordered_set scrollIds( - mPendingScrollUpdates.Keys().cbegin(), - mPendingScrollUpdates.Keys().cend()); - mPendingScrollUpdates.Clear(); - return scrollIds; -} - -void SetAntialiasingFlags(Layer* aLayer, DrawTarget* aTarget) { -} +void SetAntialiasingFlags(Layer* aLayer, DrawTarget* aTarget) {} IntRect ToOutsideIntRect(const gfxRect& aRect) { return IntRect::RoundOut(aRect.X(), aRect.Y(), aRect.Width(), aRect.Height()); diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build index e262ea5b4843..24797cf904df 100755 --- a/gfx/layers/moz.build +++ b/gfx/layers/moz.build @@ -392,7 +392,6 @@ UNIFIED_SOURCES += [ "ipc/UiCompositorControllerParent.cpp", "ipc/VideoBridgeChild.cpp", "ipc/VideoBridgeParent.cpp", - "LayerManager.cpp", "Layers.cpp", "LayersTypes.cpp", "MemoryPressureObserver.cpp", diff --git a/gfx/layers/wr/WebRenderCommandBuilder.cpp b/gfx/layers/wr/WebRenderCommandBuilder.cpp index 2cd3a07007fb..30a346a283f5 100644 --- a/gfx/layers/wr/WebRenderCommandBuilder.cpp +++ b/gfx/layers/wr/WebRenderCommandBuilder.cpp @@ -2389,8 +2389,7 @@ WebRenderCommandBuilder::GenerateFallbackData( imageData->CreateImageClientIfNeeded(); RefPtr imageClient = imageData->GetImageClient(); - RefPtr imageContainer = - LayerManager::CreateImageContainer(); + RefPtr imageContainer = MakeAndAddRef(); { UpdateImageHelper helper(imageContainer, imageClient, diff --git a/gfx/layers/wr/WebRenderUserData.cpp b/gfx/layers/wr/WebRenderUserData.cpp index db80499659e0..51a7eaae6b55 100644 --- a/gfx/layers/wr/WebRenderUserData.cpp +++ b/gfx/layers/wr/WebRenderUserData.cpp @@ -409,7 +409,7 @@ void WebRenderCanvasData::SetImageContainer(ImageContainer* aImageContainer) { ImageContainer* WebRenderCanvasData::GetImageContainer() { if (!mContainer) { - mContainer = LayerManager::CreateImageContainer(); + mContainer = MakeAndAddRef(); } return mContainer; } diff --git a/image/Image.cpp b/image/Image.cpp index 618fc991705e..62ce12c9ab13 100644 --- a/image/Image.cpp +++ b/image/Image.cpp @@ -288,7 +288,7 @@ ImgDrawResult ImageResource::GetImageContainerImpl( if (!container) { // We need a new ImageContainer, so create one. - container = layers::LayerManager::CreateImageContainer(); + container = MakeAndAddRef(); if (i >= 0) { entry->mContainer = container; diff --git a/widget/nsBaseWidget.cpp b/widget/nsBaseWidget.cpp index a6521d5d122b..c6c6ad9b6c3d 100644 --- a/widget/nsBaseWidget.cpp +++ b/widget/nsBaseWidget.cpp @@ -2252,7 +2252,7 @@ void nsIWidget::CaptureRegisteredPlugins(uintptr_t aOwnerWidget) { uint64_t nsBaseWidget::CreateScrollCaptureContainer() { mScrollCaptureContainer = - LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS); + MakeAndAddRef(ImageContainer::ASYNCHRONOUS); if (!mScrollCaptureContainer) { NS_WARNING("Failed to create ImageContainer for widget image capture."); return ImageContainer::sInvalidAsyncContainerId;