зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1736077 - Remove unusued LayerManager.cpp. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D128632
This commit is contained in:
Родитель
98cf1fa5fa
Коммит
cde3f4b00b
|
@ -6151,7 +6151,7 @@ VideoFrameContainer* HTMLMediaElement::GetVideoFrameContainer() {
|
||||||
}
|
}
|
||||||
|
|
||||||
mVideoFrameContainer = new VideoFrameContainer(
|
mVideoFrameContainer = new VideoFrameContainer(
|
||||||
this, LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS));
|
this, MakeAndAddRef<ImageContainer>(ImageContainer::ASYNCHRONOUS));
|
||||||
|
|
||||||
return mVideoFrameContainer;
|
return mVideoFrameContainer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ void VideoFrame::TakeFrom(VideoFrame* aFrame) {
|
||||||
already_AddRefed<Image> VideoFrame::CreateBlackImage(
|
already_AddRefed<Image> VideoFrame::CreateBlackImage(
|
||||||
const gfx::IntSize& aSize) {
|
const gfx::IntSize& aSize) {
|
||||||
RefPtr<ImageContainer> container =
|
RefPtr<ImageContainer> container =
|
||||||
LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS);
|
MakeAndAddRef<ImageContainer>(ImageContainer::ASYNCHRONOUS);
|
||||||
RefPtr<PlanarYCbCrImage> image = container->CreatePlanarYCbCrImage();
|
RefPtr<PlanarYCbCrImage> image = container->CreatePlanarYCbCrImage();
|
||||||
if (!image) {
|
if (!image) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
@ -246,7 +246,7 @@ nsresult MediaEngineDefaultVideoSource::Start() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!mImageContainer) {
|
if (!mImageContainer) {
|
||||||
mImageContainer = layers::LayerManager::CreateImageContainer(
|
mImageContainer = MakeAndAddRef<layers::ImageContainer>(
|
||||||
layers::ImageContainer::ASYNCHRONOUS);
|
layers::ImageContainer::ASYNCHRONOUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "Tracing.h"
|
#include "Tracing.h"
|
||||||
#include "VideoFrameUtils.h"
|
#include "VideoFrameUtils.h"
|
||||||
#include "VideoUtils.h"
|
#include "VideoUtils.h"
|
||||||
|
#include "ImageContainer.h"
|
||||||
#include "webrtc/common_video/include/video_frame_buffer.h"
|
#include "webrtc/common_video/include/video_frame_buffer.h"
|
||||||
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
|
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
|
||||||
|
|
||||||
|
@ -247,7 +248,7 @@ void MediaEngineRemoteVideoSource::SetTrack(const RefPtr<MediaTrack>& aTrack,
|
||||||
MOZ_ASSERT(aTrack->AsSourceTrack());
|
MOZ_ASSERT(aTrack->AsSourceTrack());
|
||||||
|
|
||||||
if (!mImageContainer) {
|
if (!mImageContainer) {
|
||||||
mImageContainer = layers::LayerManager::CreateImageContainer(
|
mImageContainer = MakeAndAddRef<layers::ImageContainer>(
|
||||||
layers::ImageContainer::ASYNCHRONOUS);
|
layers::ImageContainer::ASYNCHRONOUS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include "MediaDataDecoderProxy.h"
|
#include "MediaDataDecoderProxy.h"
|
||||||
#include "PDMFactory.h"
|
#include "PDMFactory.h"
|
||||||
#include "VideoUtils.h"
|
#include "VideoUtils.h"
|
||||||
|
#include "ImageContainer.h"
|
||||||
#include "mozilla/layers/ImageBridgeChild.h"
|
#include "mozilla/layers/ImageBridgeChild.h"
|
||||||
#include "mozilla/media/MediaUtils.h"
|
#include "mozilla/media/MediaUtils.h"
|
||||||
#include "webrtc/rtc_base/keep_ref_until_done.h"
|
#include "webrtc/rtc_base/keep_ref_until_done.h"
|
||||||
|
@ -19,7 +20,7 @@ WebrtcMediaDataDecoder::WebrtcMediaDataDecoder(nsACString& aCodecMimeType)
|
||||||
: mThreadPool(GetMediaThreadPool(MediaThreadType::SUPERVISOR)),
|
: mThreadPool(GetMediaThreadPool(MediaThreadType::SUPERVISOR)),
|
||||||
mTaskQueue(new TaskQueue(do_AddRef(mThreadPool),
|
mTaskQueue(new TaskQueue(do_AddRef(mThreadPool),
|
||||||
"WebrtcMediaDataDecoder::mTaskQueue")),
|
"WebrtcMediaDataDecoder::mTaskQueue")),
|
||||||
mImageContainer(layers::LayerManager::CreateImageContainer(
|
mImageContainer(MakeAndAddRef<layers::ImageContainer>(
|
||||||
layers::ImageContainer::ASYNCHRONOUS)),
|
layers::ImageContainer::ASYNCHRONOUS)),
|
||||||
mFactory(new PDMFactory()),
|
mFactory(new PDMFactory()),
|
||||||
mTrackType(TrackInfo::kUndefinedTrack),
|
mTrackType(TrackInfo::kUndefinedTrack),
|
||||||
|
|
|
@ -1559,7 +1559,7 @@ class MediaPipelineReceiveVideo::PipelineListener
|
||||||
const PrincipalHandle& aPrincipalHandle)
|
const PrincipalHandle& aPrincipalHandle)
|
||||||
: GenericReceiveListener(std::move(aMainThread), aTrack),
|
: GenericReceiveListener(std::move(aMainThread), aTrack),
|
||||||
mImageContainer(
|
mImageContainer(
|
||||||
LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS)),
|
MakeAndAddRef<ImageContainer>(ImageContainer::ASYNCHRONOUS)),
|
||||||
mMutex("MediaPipelineReceiveVideo::PipelineListener::mMutex"),
|
mMutex("MediaPipelineReceiveVideo::PipelineListener::mMutex"),
|
||||||
mPrincipalHandle(aPrincipalHandle) {}
|
mPrincipalHandle(aPrincipalHandle) {}
|
||||||
|
|
||||||
|
|
|
@ -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 <stdint.h> // for uint64_t, uint8_t
|
|
||||||
#include <stdlib.h> // for abort
|
|
||||||
#include <algorithm> // for copy, copy_backward
|
|
||||||
#include <utility> // 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<DrawTarget> LayerManager::CreateOptimalDrawTarget(
|
|
||||||
const gfx::IntSize& aSize, SurfaceFormat aFormat) {
|
|
||||||
return gfxPlatform::GetPlatform()->CreateOffscreenContentDrawTarget(aSize,
|
|
||||||
aFormat);
|
|
||||||
}
|
|
||||||
|
|
||||||
already_AddRefed<DrawTarget> LayerManager::CreateOptimalMaskDrawTarget(
|
|
||||||
const gfx::IntSize& aSize) {
|
|
||||||
return CreateOptimalDrawTarget(aSize, SurfaceFormat::A8);
|
|
||||||
}
|
|
||||||
|
|
||||||
already_AddRefed<DrawTarget> LayerManager::CreateDrawTarget(
|
|
||||||
const IntSize& aSize, SurfaceFormat aFormat) {
|
|
||||||
return gfxPlatform::GetPlatform()->CreateOffscreenCanvasDrawTarget(aSize,
|
|
||||||
aFormat);
|
|
||||||
}
|
|
||||||
|
|
||||||
already_AddRefed<ImageContainer> LayerManager::CreateImageContainer(
|
|
||||||
ImageContainer::Mode flag) {
|
|
||||||
RefPtr<ImageContainer> container = new ImageContainer(flag);
|
|
||||||
return container.forget();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*static*/
|
|
||||||
void LayerManager::LayerUserDataDestroy(void* data) {
|
|
||||||
delete static_cast<LayerUserData*>(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
UniquePtr<LayerUserData> LayerManager::RemoveUserData(void* aKey) {
|
|
||||||
UniquePtr<LayerUserData> d(static_cast<LayerUserData*>(
|
|
||||||
mUserData.Remove(static_cast<gfx::UserDataKey*>(aKey))));
|
|
||||||
return d;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace layers
|
|
||||||
} // namespace mozilla
|
|
|
@ -92,68 +92,7 @@ void WriteSnapshotToDumpFile(Compositor* aCompositor, DrawTarget* aTarget) {
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// LayerManager
|
// LayerManager
|
||||||
|
|
||||||
void LayerManager::Log(const char* aPrefix) {
|
void SetAntialiasingFlags(Layer* aLayer, DrawTarget* aTarget) {}
|
||||||
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<nsTArray<ScrollPositionUpdate>> 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<ScrollPositionUpdate> copy;
|
|
||||||
copy.AppendElements(p.Data());
|
|
||||||
return Some(std::move(copy));
|
|
||||||
}
|
|
||||||
|
|
||||||
std::unordered_set<ScrollableLayerGuid::ViewID>
|
|
||||||
LayerManager::ClearPendingScrollInfoUpdate() {
|
|
||||||
std::unordered_set<ScrollableLayerGuid::ViewID> scrollIds(
|
|
||||||
mPendingScrollUpdates.Keys().cbegin(),
|
|
||||||
mPendingScrollUpdates.Keys().cend());
|
|
||||||
mPendingScrollUpdates.Clear();
|
|
||||||
return scrollIds;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetAntialiasingFlags(Layer* aLayer, DrawTarget* aTarget) {
|
|
||||||
}
|
|
||||||
|
|
||||||
IntRect ToOutsideIntRect(const gfxRect& aRect) {
|
IntRect ToOutsideIntRect(const gfxRect& aRect) {
|
||||||
return IntRect::RoundOut(aRect.X(), aRect.Y(), aRect.Width(), aRect.Height());
|
return IntRect::RoundOut(aRect.X(), aRect.Y(), aRect.Width(), aRect.Height());
|
||||||
|
|
|
@ -392,7 +392,6 @@ UNIFIED_SOURCES += [
|
||||||
"ipc/UiCompositorControllerParent.cpp",
|
"ipc/UiCompositorControllerParent.cpp",
|
||||||
"ipc/VideoBridgeChild.cpp",
|
"ipc/VideoBridgeChild.cpp",
|
||||||
"ipc/VideoBridgeParent.cpp",
|
"ipc/VideoBridgeParent.cpp",
|
||||||
"LayerManager.cpp",
|
|
||||||
"Layers.cpp",
|
"Layers.cpp",
|
||||||
"LayersTypes.cpp",
|
"LayersTypes.cpp",
|
||||||
"MemoryPressureObserver.cpp",
|
"MemoryPressureObserver.cpp",
|
||||||
|
|
|
@ -2389,8 +2389,7 @@ WebRenderCommandBuilder::GenerateFallbackData(
|
||||||
|
|
||||||
imageData->CreateImageClientIfNeeded();
|
imageData->CreateImageClientIfNeeded();
|
||||||
RefPtr<ImageClient> imageClient = imageData->GetImageClient();
|
RefPtr<ImageClient> imageClient = imageData->GetImageClient();
|
||||||
RefPtr<ImageContainer> imageContainer =
|
RefPtr<ImageContainer> imageContainer = MakeAndAddRef<ImageContainer>();
|
||||||
LayerManager::CreateImageContainer();
|
|
||||||
|
|
||||||
{
|
{
|
||||||
UpdateImageHelper helper(imageContainer, imageClient,
|
UpdateImageHelper helper(imageContainer, imageClient,
|
||||||
|
|
|
@ -409,7 +409,7 @@ void WebRenderCanvasData::SetImageContainer(ImageContainer* aImageContainer) {
|
||||||
|
|
||||||
ImageContainer* WebRenderCanvasData::GetImageContainer() {
|
ImageContainer* WebRenderCanvasData::GetImageContainer() {
|
||||||
if (!mContainer) {
|
if (!mContainer) {
|
||||||
mContainer = LayerManager::CreateImageContainer();
|
mContainer = MakeAndAddRef<ImageContainer>();
|
||||||
}
|
}
|
||||||
return mContainer;
|
return mContainer;
|
||||||
}
|
}
|
||||||
|
|
|
@ -288,7 +288,7 @@ ImgDrawResult ImageResource::GetImageContainerImpl(
|
||||||
|
|
||||||
if (!container) {
|
if (!container) {
|
||||||
// We need a new ImageContainer, so create one.
|
// We need a new ImageContainer, so create one.
|
||||||
container = layers::LayerManager::CreateImageContainer();
|
container = MakeAndAddRef<layers::ImageContainer>();
|
||||||
|
|
||||||
if (i >= 0) {
|
if (i >= 0) {
|
||||||
entry->mContainer = container;
|
entry->mContainer = container;
|
||||||
|
|
|
@ -2252,7 +2252,7 @@ void nsIWidget::CaptureRegisteredPlugins(uintptr_t aOwnerWidget) {
|
||||||
|
|
||||||
uint64_t nsBaseWidget::CreateScrollCaptureContainer() {
|
uint64_t nsBaseWidget::CreateScrollCaptureContainer() {
|
||||||
mScrollCaptureContainer =
|
mScrollCaptureContainer =
|
||||||
LayerManager::CreateImageContainer(ImageContainer::ASYNCHRONOUS);
|
MakeAndAddRef<ImageContainer>(ImageContainer::ASYNCHRONOUS);
|
||||||
if (!mScrollCaptureContainer) {
|
if (!mScrollCaptureContainer) {
|
||||||
NS_WARNING("Failed to create ImageContainer for widget image capture.");
|
NS_WARNING("Failed to create ImageContainer for widget image capture.");
|
||||||
return ImageContainer::sInvalidAsyncContainerId;
|
return ImageContainer::sInvalidAsyncContainerId;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче