Bug 1500454 - remove PVideoDecoder, etc from dom namespace. r=jya

Differential Revision: https://phabricator.services.mozilla.com/D15156

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Michael Froman 2018-12-21 22:34:57 +00:00
Родитель ef297735b5
Коммит c0a8a08f40
21 изменённых файлов: 56 добавлений и 80 удалений

Просмотреть файл

@ -25,6 +25,7 @@
#include "mozilla/Unused.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/TelemetryIPC.h"
#include "mozilla/VideoDecoderManagerChild.h"
#include "mozilla/devtools/HeapSnapshotTempFileHelperChild.h"
#include "mozilla/docshell/OfflineCacheUpdateChild.h"
#include "mozilla/dom/ClientManager.h"
@ -34,7 +35,6 @@
#include "mozilla/dom/ContentBridgeParent.h"
#include "mozilla/dom/ContentProcessMessageManager.h"
#include "mozilla/dom/DOMPrefs.h"
#include "mozilla/dom/VideoDecoderManagerChild.h"
#include "mozilla/dom/ContentParent.h"
#include "mozilla/dom/DataTransfer.h"
#include "mozilla/dom/DocGroup.h"

Просмотреть файл

@ -8,16 +8,14 @@
#include "base/thread.h"
#include "mozilla/layers/SynchronousTask.h"
#include "mozilla/StaticPrefs.h"
#include "RemoteMediaDataDecoder.h"
#include "VideoDecoderChild.h"
#include "VideoDecoderManagerChild.h"
#include "RemoteMediaDataDecoder.h"
namespace mozilla {
using base::Thread;
using dom::VideoDecoderChild;
using dom::VideoDecoderManagerChild;
using namespace ipc;
using namespace layers;
using namespace gfx;

Просмотреть файл

@ -11,7 +11,6 @@ include LayersSurfaces;
using mozilla::layers::LayersBackend from "mozilla/layers/LayersTypes.h";
namespace mozilla {
namespace dom {
struct VideoDataIPDL
{
@ -59,5 +58,4 @@ child:
async Error(nsresult error);
};
} // namespace dom
} // namespace mozilla

Просмотреть файл

@ -13,7 +13,6 @@ using mozilla::CreateDecoderParams::Option from "PlatformDecoderModule.h";
using mozilla::CreateDecoderParams::OptionSet from "PlatformDecoderModule.h";
namespace mozilla {
namespace dom {
sync protocol PVideoDecoderManager
{
@ -36,5 +35,4 @@ parent:
async DeallocateSurfaceDescriptorGPUVideo(SurfaceDescriptorGPUVideo sd);
};
} // namespace dom
} // namespace mozilla

Просмотреть файл

@ -13,7 +13,6 @@
#include "GPUVideoImage.h"
namespace mozilla {
namespace dom {
using base::Thread;
using namespace ipc;
@ -127,7 +126,7 @@ void VideoDecoderChild::ActorDestroy(ActorDestroyReason aWhy) {
// it'll be safe for MediaFormatReader to recreate decoders
RefPtr<VideoDecoderChild> ref = this;
GetManager()->RunWhenRecreated(
NS_NewRunnableFunction("dom::VideoDecoderChild::ActorDestroy", [=]() {
NS_NewRunnableFunction("VideoDecoderChild::ActorDestroy", [=]() {
MediaResult error(NS_ERROR_DOM_MEDIA_NEED_NEW_DECODER);
error.SetGPUCrashTimeStamp(ref->mGPUCrashTime);
if (ref->mInitialized) {
@ -326,5 +325,4 @@ VideoDecoderManagerChild* VideoDecoderChild::GetManager() {
return static_cast<VideoDecoderManagerChild*>(Manager());
}
} // namespace dom
} // namespace mozilla

Просмотреть файл

@ -3,16 +3,15 @@
/* 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 include_dom_ipc_VideoDecoderChild_h
#define include_dom_ipc_VideoDecoderChild_h
#ifndef include_ipc_VideoDecoderChild_h
#define include_ipc_VideoDecoderChild_h
#include "MediaResult.h"
#include "PlatformDecoderModule.h"
#include "mozilla/dom/PVideoDecoderChild.h"
#include "mozilla/PVideoDecoderChild.h"
#include "IRemoteDecoderChild.h"
namespace mozilla {
namespace dom {
class RemoteVideoDecoder;
class RemoteDecoderModule;
@ -88,7 +87,6 @@ class VideoDecoderChild final : public PVideoDecoderChild,
TimeStamp mGPUCrashTime;
};
} // namespace dom
} // namespace mozilla
#endif // include_dom_ipc_VideoDecoderChild_h
#endif // include_ipc_VideoDecoderChild_h

Просмотреть файл

@ -6,8 +6,8 @@
#include "VideoDecoderManagerChild.h"
#include "VideoDecoderChild.h"
#include "mozilla/dom/ContentChild.h"
#include "nsThreadUtils.h"
#include "mozilla/dom/ContentChild.h"
#include "mozilla/gfx/2D.h"
#include "mozilla/ipc/ProtocolUtils.h"
#include "mozilla/layers/SynchronousTask.h"
@ -16,7 +16,6 @@
#include "base/task.h"
namespace mozilla {
namespace dom {
using namespace ipc;
using namespace layers;
@ -60,7 +59,7 @@ static UniquePtr<nsTArray<RefPtr<Runnable>>> sRecreateTasks;
if (sVideoDecoderChildThread) {
sVideoDecoderChildThread->Dispatch(
NS_NewRunnableFunction("dom::VideoDecoderManagerChild::Shutdown",
NS_NewRunnableFunction("VideoDecoderManagerChild::Shutdown",
[]() {
if (sDecoderManager &&
sDecoderManager->CanSend()) {
@ -164,7 +163,7 @@ bool VideoDecoderManagerChild::DeallocShmem(mozilla::ipc::Shmem& aShmem) {
RefPtr<VideoDecoderManagerChild> self = this;
mozilla::ipc::Shmem shmem = aShmem;
sVideoDecoderChildThread->Dispatch(
NS_NewRunnableFunction("dom::VideoDecoderManagerChild::DeallocShmem",
NS_NewRunnableFunction("VideoDecoderManagerChild::DeallocShmem",
[self, shmem]() {
if (self->CanSend()) {
mozilla::ipc::Shmem shmemCopy = shmem;
@ -241,7 +240,7 @@ void VideoDecoderManagerChild::DeallocateSurfaceDescriptorGPUVideo(
SurfaceDescriptorGPUVideo sd = std::move(aSD);
sVideoDecoderChildThread->Dispatch(
NS_NewRunnableFunction(
"dom::VideoDecoderManagerChild::DeallocateSurfaceDescriptorGPUVideo",
"VideoDecoderManagerChild::DeallocateSurfaceDescriptorGPUVideo",
[ref, sd]() {
if (ref->CanSend()) {
ref->SendDeallocateSurfaceDescriptorGPUVideo(sd);
@ -254,5 +253,4 @@ void VideoDecoderManagerChild::HandleFatalError(const char* aMsg) const {
dom::ContentChild::FatalErrorIfNotUsingGPUProcess(aMsg, OtherPid());
}
} // namespace dom
} // namespace mozilla

Просмотреть файл

@ -3,17 +3,16 @@
/* 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 include_dom_ipc_VideoDecoderManagerChild_h
#define include_dom_ipc_VideoDecoderManagerChild_h
#ifndef include_ipc_VideoDecoderManagerChild_h
#define include_ipc_VideoDecoderManagerChild_h
#include "mozilla/RefPtr.h"
#include "mozilla/dom/PVideoDecoderManagerChild.h"
#include "mozilla/PVideoDecoderManagerChild.h"
namespace mozilla {
namespace gfx {
class SourceSurface;
}
namespace dom {
class VideoDecoderManagerChild final : public PVideoDecoderManagerChild,
public mozilla::ipc::IShmemAllocator {
@ -93,7 +92,6 @@ class VideoDecoderManagerChild final : public PVideoDecoderManagerChild,
bool mCanSend;
};
} // namespace dom
} // namespace mozilla
#endif // include_dom_ipc_VideoDecoderManagerChild_h
#endif // include_ipc_VideoDecoderManagerChild_h

Просмотреть файл

@ -30,8 +30,6 @@ extern const nsCString GetFoundD3D11BlacklistedDLL();
extern const nsCString GetFoundD3D9BlacklistedDLL();
#endif // XP_WIN
namespace dom {
using namespace ipc;
using namespace layers;
using namespace gfx;
@ -58,7 +56,7 @@ class VideoDecoderManagerThreadHolder {
private:
~VideoDecoderManagerThreadHolder() {
NS_DispatchToMainThread(
NS_NewRunnableFunction("dom::VideoDecoderManagerThreadHolder::~"
NS_NewRunnableFunction("VideoDecoderManagerThreadHolder::~"
"VideoDecoderManagerThreadHolder",
[]() -> void {
sVideoDecoderManagerThread->Shutdown();
@ -116,7 +114,7 @@ void VideoDecoderManagerParent::StartupThreads() {
NS_DISPATCH_NORMAL);
#endif
sVideoDecoderManagerThread->Dispatch(
NS_NewRunnableFunction("dom::VideoDecoderManagerParent::StartupThreads",
NS_NewRunnableFunction("VideoDecoderManagerParent::StartupThreads",
[]() { layers::VideoBridgeChild::Startup(); }),
NS_DISPATCH_NORMAL);
@ -140,9 +138,9 @@ void VideoDecoderManagerParent::ShutdownThreads() {
void VideoDecoderManagerParent::ShutdownVideoBridge() {
if (sVideoDecoderManagerThread) {
RefPtr<Runnable> task = NS_NewRunnableFunction(
"dom::VideoDecoderManagerParent::ShutdownVideoBridge",
[]() { VideoBridgeChild::Shutdown(); });
RefPtr<Runnable> task =
NS_NewRunnableFunction("VideoDecoderManagerParent::ShutdownVideoBridge",
[]() { VideoBridgeChild::Shutdown(); });
SyncRunnable::DispatchToThread(sVideoDecoderManagerThread, task);
}
}
@ -166,7 +164,7 @@ bool VideoDecoderManagerParent::CreateForContent(
RefPtr<Runnable> task =
NewRunnableMethod<Endpoint<PVideoDecoderManagerParent>&&>(
"dom::VideoDecoderManagerParent::Open", parent,
"VideoDecoderManagerParent::Open", parent,
&VideoDecoderManagerParent::Open, std::move(aEndpoint));
sVideoDecoderManagerThread->Dispatch(task.forget(), NS_DISPATCH_NORMAL);
return true;
@ -279,5 +277,4 @@ VideoDecoderManagerParent::RecvDeallocateSurfaceDescriptorGPUVideo(
return IPC_OK();
}
} // namespace dom
} // namespace mozilla

Просмотреть файл

@ -3,13 +3,12 @@
/* 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 include_dom_ipc_VideoDecoderManagerParent_h
#define include_dom_ipc_VideoDecoderManagerParent_h
#ifndef include_ipc_VideoDecoderManagerParent_h
#define include_ipc_VideoDecoderManagerParent_h
#include "mozilla/dom/PVideoDecoderManagerParent.h"
#include "mozilla/PVideoDecoderManagerParent.h"
namespace mozilla {
namespace dom {
class VideoDecoderManagerThreadHolder;
@ -62,7 +61,6 @@ class VideoDecoderManagerParent final : public PVideoDecoderManagerParent {
RefPtr<VideoDecoderManagerThreadHolder> mThreadHolder;
};
} // namespace dom
} // namespace mozilla
#endif // include_dom_ipc_VideoDecoderManagerParent_h

Просмотреть файл

@ -17,7 +17,6 @@
#endif
namespace mozilla {
namespace dom {
using base::Thread;
using media::TimeUnit;
@ -280,5 +279,4 @@ bool VideoDecoderParent::OnManagerThread() {
return mParent->OnManagerThread();
}
} // namespace dom
} // namespace mozilla

Просмотреть файл

@ -3,19 +3,18 @@
/* 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 include_dom_ipc_VideoDecoderParent_h
#define include_dom_ipc_VideoDecoderParent_h
#ifndef include_ipc_VideoDecoderParent_h
#define include_ipc_VideoDecoderParent_h
#include "ImageContainer.h"
#include "MediaData.h"
#include "PlatformDecoderModule.h"
#include "VideoDecoderManagerParent.h"
#include "mozilla/MozPromise.h"
#include "mozilla/dom/PVideoDecoderParent.h"
#include "mozilla/PVideoDecoderParent.h"
#include "mozilla/layers/TextureForwarder.h"
namespace mozilla {
namespace dom {
class KnowsCompositorVideo;
@ -62,7 +61,6 @@ class VideoDecoderParent final : public PVideoDecoderParent {
bool mDestroyed;
};
} // namespace dom
} // namespace mozilla
#endif // include_dom_ipc_VideoDecoderParent_h
#endif // include_ipc_VideoDecoderParent_h

Просмотреть файл

@ -25,12 +25,12 @@ EXPORTS.mozilla += [
'RemoteDecoderManagerParent.h',
'RemoteDecoderModule.h',
'RemoteMediaDataDecoder.h',
'VideoDecoderManagerChild.h',
'VideoDecoderManagerParent.h',
]
EXPORTS.mozilla.dom += [
'MediaIPCUtils.h',
'VideoDecoderManagerChild.h',
'VideoDecoderManagerParent.h',
]
SOURCES += [

Просмотреть файл

@ -17,9 +17,9 @@
#include "mozilla/Assertions.h"
#include "mozilla/Telemetry.h"
#include "mozilla/TimeStamp.h"
#include "mozilla/VideoDecoderManagerChild.h"
#include "mozilla/VideoDecoderManagerParent.h"
#include "mozilla/dom/MemoryReportRequest.h"
#include "mozilla/dom/VideoDecoderManagerChild.h"
#include "mozilla/dom/VideoDecoderManagerParent.h"
#include "mozilla/gfx/2D.h"
#include "mozilla/gfx/gfxVars.h"
#include "mozilla/image/ImageMemoryReporter.h"
@ -397,7 +397,7 @@ mozilla::ipc::IPCResult GPUParent::RecvNewContentVRManager(
mozilla::ipc::IPCResult GPUParent::RecvNewContentVideoDecoderManager(
Endpoint<PVideoDecoderManagerParent>&& aEndpoint) {
if (!dom::VideoDecoderManagerParent::CreateForContent(std::move(aEndpoint))) {
if (!VideoDecoderManagerParent::CreateForContent(std::move(aEndpoint))) {
return IPC_FAIL_NO_REASON(this);
}
return IPC_OK();
@ -485,7 +485,7 @@ void GPUParent::ActorDestroy(ActorDestroyReason aWhy) {
mVsyncBridge->Shutdown();
mVsyncBridge = nullptr;
}
dom::VideoDecoderManagerParent::ShutdownVideoBridge();
VideoDecoderManagerParent::ShutdownVideoBridge();
CompositorThreadHolder::Shutdown();
// There is a case that RenderThread exists when gfxVars::UseWebRender() is
// false. This could happen when WebRender was fallbacked to compositor.

Просмотреть файл

@ -13,6 +13,8 @@
#include "mozilla/Sprintf.h"
#include "mozilla/StaticPtr.h"
#include "mozilla/StaticPrefs.h"
#include "mozilla/VideoDecoderManagerChild.h"
#include "mozilla/VideoDecoderManagerParent.h"
#include "mozilla/dom/ContentParent.h"
#include "mozilla/gfx/gfxVars.h"
#include "mozilla/layers/APZCTreeManagerChild.h"
@ -37,8 +39,6 @@
#include "VsyncBridgeChild.h"
#include "VsyncIOThreadHolder.h"
#include "VsyncSource.h"
#include "mozilla/dom/VideoDecoderManagerChild.h"
#include "mozilla/dom/VideoDecoderManagerParent.h"
#include "nsExceptionHandler.h"
#include "nsPrintfCString.h"
@ -767,7 +767,7 @@ bool GPUProcessManager::CreateContentBridges(
ipc::Endpoint<PCompositorManagerChild>* aOutCompositor,
ipc::Endpoint<PImageBridgeChild>* aOutImageBridge,
ipc::Endpoint<PVRManagerChild>* aOutVRBridge,
ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutVideoManager,
ipc::Endpoint<PVideoDecoderManagerChild>* aOutVideoManager,
nsTArray<uint32_t>* aNamespaces) {
if (!CreateContentCompositorManager(aOtherProcess, aOutCompositor) ||
!CreateContentImageBridge(aOtherProcess, aOutImageBridge) ||
@ -879,16 +879,16 @@ bool GPUProcessManager::CreateContentVRManager(
void GPUProcessManager::CreateContentVideoDecoderManager(
base::ProcessId aOtherProcess,
ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutEndpoint) {
ipc::Endpoint<PVideoDecoderManagerChild>* aOutEndpoint) {
if (!EnsureGPUReady() || !StaticPrefs::MediaGpuProcessDecoder() ||
!mDecodeVideoOnGpuProcess) {
return;
}
ipc::Endpoint<dom::PVideoDecoderManagerParent> parentPipe;
ipc::Endpoint<dom::PVideoDecoderManagerChild> childPipe;
ipc::Endpoint<PVideoDecoderManagerParent> parentPipe;
ipc::Endpoint<PVideoDecoderManagerChild> childPipe;
nsresult rv = dom::PVideoDecoderManager::CreateEndpoints(
nsresult rv = PVideoDecoderManager::CreateEndpoints(
mGPUChild->OtherPid(), aOtherProcess, &parentPipe, &childPipe);
if (NS_FAILED(rv)) {
gfxCriticalNote << "Could not create content video decoder: "

Просмотреть файл

@ -24,6 +24,7 @@ class nsBaseWidget;
namespace mozilla {
class MemoryReportingProcess;
class PVideoDecoderManagerChild;
namespace layers {
class IAPZCTreeManager;
class CompositorOptions;
@ -42,7 +43,6 @@ class CompositorWidget;
namespace dom {
class ContentParent;
class TabParent;
class PVideoDecoderManagerChild;
} // namespace dom
namespace ipc {
class GeckoChildProcessHost;
@ -101,7 +101,7 @@ class GPUProcessManager final : public GPUProcessHost::Listener {
mozilla::ipc::Endpoint<PCompositorManagerChild>* aOutCompositor,
mozilla::ipc::Endpoint<PImageBridgeChild>* aOutImageBridge,
mozilla::ipc::Endpoint<PVRManagerChild>* aOutVRBridge,
mozilla::ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutVideoManager,
mozilla::ipc::Endpoint<PVideoDecoderManagerChild>* aOutVideoManager,
nsTArray<uint32_t>* aNamespaces);
// Maps the layer tree and process together so that aOwningPID is allowed
@ -191,7 +191,7 @@ class GPUProcessManager final : public GPUProcessHost::Listener {
mozilla::ipc::Endpoint<PVRManagerChild>* aOutEndpoint);
void CreateContentVideoDecoderManager(
base::ProcessId aOtherProcess,
mozilla::ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutEndPoint);
mozilla::ipc::Endpoint<PVideoDecoderManagerChild>* aOutEndPoint);
// Called from RemoteCompositorSession. We track remote sessions so we can
// notify their owning widgets that the session must be restarted.

Просмотреть файл

@ -28,7 +28,7 @@ class GPUVideoImage final : public Image {
friend class gl::GLBlitHelper;
public:
GPUVideoImage(dom::VideoDecoderManagerChild* aManager,
GPUVideoImage(VideoDecoderManagerChild* aManager,
const SurfaceDescriptorGPUVideo& aSD, const gfx::IntSize& aSize)
: Image(nullptr, ImageFormat::GPU_VIDEO), mSize(aSize) {
// Create the TextureClient immediately since the GPUVideoTextureData

Просмотреть файл

@ -5,7 +5,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "GPUVideoTextureClient.h"
#include "mozilla/dom/VideoDecoderManagerChild.h"
#include "mozilla/VideoDecoderManagerChild.h"
#include "mozilla/gfx/2D.h"
namespace mozilla {
@ -13,9 +13,9 @@ namespace layers {
using namespace gfx;
GPUVideoTextureData::GPUVideoTextureData(
dom::VideoDecoderManagerChild* aManager,
const SurfaceDescriptorGPUVideo& aSD, const gfx::IntSize& aSize)
GPUVideoTextureData::GPUVideoTextureData(VideoDecoderManagerChild* aManager,
const SurfaceDescriptorGPUVideo& aSD,
const gfx::IntSize& aSize)
: mManager(aManager), mSD(aSD), mSize(aSize) {}
GPUVideoTextureData::~GPUVideoTextureData() {}

Просмотреть файл

@ -13,14 +13,13 @@ namespace mozilla {
namespace gfx {
class SourceSurface;
}
namespace dom {
class VideoDecoderManagerChild;
}
namespace layers {
class GPUVideoTextureData : public TextureData {
public:
GPUVideoTextureData(dom::VideoDecoderManagerChild* aManager,
GPUVideoTextureData(VideoDecoderManagerChild* aManager,
const SurfaceDescriptorGPUVideo& aSD,
const gfx::IntSize& aSize);
~GPUVideoTextureData();
@ -42,7 +41,7 @@ class GPUVideoTextureData : public TextureData {
virtual GPUVideoTextureData* AsGPUVideoTextureData() override { return this; }
protected:
RefPtr<dom::VideoDecoderManagerChild> mManager;
RefPtr<VideoDecoderManagerChild> mManager;
SurfaceDescriptorGPUVideo mSD;
gfx::IntSize mSize;

Просмотреть файл

@ -5,7 +5,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "GPUVideoTextureHost.h"
#include "mozilla/dom/VideoDecoderManagerParent.h"
#include "mozilla/VideoDecoderManagerParent.h"
#include "ImageContainer.h"
#include "mozilla/layers/VideoBridgeParent.h"

Просмотреть файл

@ -10,6 +10,7 @@
#include "mozilla/Poison.h"
#include "mozilla/RemoteDecoderManagerChild.h"
#include "mozilla/SharedThreadPool.h"
#include "mozilla/VideoDecoderManagerChild.h"
#include "mozilla/XPCOM.h"
#include "nsXULAppAPI.h"
@ -22,7 +23,6 @@
#include "mozilla/layers/ImageBridgeChild.h"
#include "mozilla/layers/CompositorBridgeParent.h"
#include "mozilla/dom/VideoDecoderManagerChild.h"
#include "prlink.h"
@ -815,7 +815,7 @@ nsresult ShutdownXPCOM(nsIServiceManager* aServMgr) {
// are triggered by the NS_XPCOM_SHUTDOWN_OBSERVER_ID notification.
NS_ProcessPendingEvents(thread);
gfxPlatform::ShutdownLayersIPC();
mozilla::dom::VideoDecoderManagerChild::Shutdown();
mozilla::VideoDecoderManagerChild::Shutdown();
mozilla::RemoteDecoderManagerChild::Shutdown();
mozilla::scache::StartupCache::DeleteSingleton();