commit da6eccc59d645ffb11fe1dfada6e48af6dc65977
parent 77b0724ec38e27341fcd1426446700e841f7c155
Author: Andrew McCreight <continuation@gmail.com>
Date: Fri, 14 Nov 2025 21:22:18 +0000
Bug 1784407 - Remove ToplevelActorHolder. r=ipc-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D272475
Diffstat:
2 files changed, 0 insertions(+), 46 deletions(-)
diff --git a/ipc/glue/ToplevelActorHolder.h b/ipc/glue/ToplevelActorHolder.h
@@ -1,45 +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 MOZILLA_IPC_TOPLEVELACTORHOLDER_H
-#define MOZILLA_IPC_TOPLEVELACTORHOLDER_H
-
-#include "nsISupports.h"
-
-namespace mozilla::ipc {
-
-// Class to let us close the actor when we're not using it anymore. You
-// should create a single instance of this, and when you have no more
-// references it will be destroyed and will Close() the underlying
-// top-level channel.
-// When you want to send something, you use something like
-// aActor->Actor()->SendFoo()
-
-// You can avoid calling Close() on an un-connected Actor (for example if
-// Bind() fails) by calling RemoveActor();
-template <typename T>
-class ToplevelActorHolder final {
- public:
- NS_INLINE_DECL_REFCOUNTING_ONEVENTTARGET(ToplevelActorHolder)
-
- explicit ToplevelActorHolder(T* aActor) : mActor(aActor) {}
-
- constexpr T* Actor() const { return mActor; }
- inline void RemoveActor() { mActor = nullptr; }
-
- private:
- inline ~ToplevelActorHolder() {
- if (mActor) {
- mActor->Close();
- }
- }
-
- RefPtr<T> mActor;
-};
-
-} // namespace mozilla::ipc
-
-#endif // MOZILLA_IPC_TOPLEVELACTORHOLDER_H
diff --git a/ipc/glue/moz.build b/ipc/glue/moz.build
@@ -63,7 +63,6 @@ EXPORTS.mozilla.ipc += [
"SideVariant.h",
"TaintingIPCUtils.h",
"TaskFactory.h",
- "ToplevelActorHolder.h",
"TransportSecurityInfoUtils.h",
"URIUtils.h",
"UtilityMediaService.h",