Files
tubestation/ipc/glue/BackgroundParentImpl.h
Goloman Adrian 813cf9e0cb Backed out 4 changesets (bug 1883321, bug 1900537) for causing multiple failures. CLOSED TREE
Backed out changeset 7b1ab2c1bfb6 (bug 1900537)
Backed out changeset 1306fe3ef6d3 (bug 1900537)
Backed out changeset e83b4e090bc0 (bug 1883321)
Backed out changeset b9e50942a0cd (bug 1883321)
2024-12-07 02:50:49 +02:00

367 lines
14 KiB
C++

/* -*- 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_backgroundparentimpl_h__
#define mozilla_ipc_backgroundparentimpl_h__
#include "mozilla/ipc/PBackgroundParent.h"
namespace mozilla::ipc {
// Instances of this class should never be created directly. This class is meant
// to be inherited in BackgroundImpl.
class BackgroundParentImpl : public PBackgroundParent {
protected:
BackgroundParentImpl();
virtual ~BackgroundParentImpl();
void ProcessingError(Result aCode, const char* aReason) override;
void ActorDestroy(ActorDestroyReason aWhy) override;
PBackgroundTestParent* AllocPBackgroundTestParent(
const nsACString& aTestArg) override;
mozilla::ipc::IPCResult RecvPBackgroundTestConstructor(
PBackgroundTestParent* aActor, const nsACString& aTestArg) override;
bool DeallocPBackgroundTestParent(PBackgroundTestParent* aActor) override;
already_AddRefed<PBackgroundIDBFactoryParent>
AllocPBackgroundIDBFactoryParent(const LoggingInfo& aLoggingInfo,
const nsACString& aSystemLocale) override;
mozilla::ipc::IPCResult RecvPBackgroundIDBFactoryConstructor(
PBackgroundIDBFactoryParent* aActor, const LoggingInfo& aLoggingInfo,
const nsACString& aSystemLocale) override;
PBackgroundIndexedDBUtilsParent* AllocPBackgroundIndexedDBUtilsParent()
override;
bool DeallocPBackgroundIndexedDBUtilsParent(
PBackgroundIndexedDBUtilsParent* aActor) override;
mozilla::ipc::IPCResult RecvFlushPendingFileDeletions() override;
already_AddRefed<PBackgroundSDBConnectionParent>
AllocPBackgroundSDBConnectionParent(
const PersistenceType& aPersistenceType,
const PrincipalInfo& aPrincipalInfo) override;
mozilla::ipc::IPCResult RecvPBackgroundSDBConnectionConstructor(
PBackgroundSDBConnectionParent* aActor,
const PersistenceType& aPersistenceType,
const PrincipalInfo& aPrincipalInfo) override;
PBackgroundLSObserverParent* AllocPBackgroundLSObserverParent(
const uint64_t& aObserverId) override;
mozilla::ipc::IPCResult RecvPBackgroundLSObserverConstructor(
PBackgroundLSObserverParent* aActor,
const uint64_t& aObserverId) override;
bool DeallocPBackgroundLSObserverParent(
PBackgroundLSObserverParent* aActor) override;
PBackgroundLSRequestParent* AllocPBackgroundLSRequestParent(
const LSRequestParams& aParams) override;
mozilla::ipc::IPCResult RecvPBackgroundLSRequestConstructor(
PBackgroundLSRequestParent* aActor,
const LSRequestParams& aParams) override;
bool DeallocPBackgroundLSRequestParent(
PBackgroundLSRequestParent* aActor) override;
PBackgroundLSSimpleRequestParent* AllocPBackgroundLSSimpleRequestParent(
const LSSimpleRequestParams& aParams) override;
mozilla::ipc::IPCResult RecvPBackgroundLSSimpleRequestConstructor(
PBackgroundLSSimpleRequestParent* aActor,
const LSSimpleRequestParams& aParams) override;
bool DeallocPBackgroundLSSimpleRequestParent(
PBackgroundLSSimpleRequestParent* aActor) override;
PBackgroundLocalStorageCacheParent* AllocPBackgroundLocalStorageCacheParent(
const PrincipalInfo& aPrincipalInfo, const nsACString& aOriginKey,
const uint32_t& aPrivateBrowsingId) override;
mozilla::ipc::IPCResult RecvPBackgroundLocalStorageCacheConstructor(
PBackgroundLocalStorageCacheParent* aActor,
const PrincipalInfo& aPrincipalInfo, const nsACString& aOriginKey,
const uint32_t& aPrivateBrowsingId) override;
bool DeallocPBackgroundLocalStorageCacheParent(
PBackgroundLocalStorageCacheParent* aActor) override;
PBackgroundStorageParent* AllocPBackgroundStorageParent(
const nsAString& aProfilePath,
const uint32_t& aPrivateBrowsingId) override;
mozilla::ipc::IPCResult RecvPBackgroundStorageConstructor(
PBackgroundStorageParent* aActor, const nsAString& aProfilePath,
const uint32_t& aPrivateBrowsingId) override;
bool DeallocPBackgroundStorageParent(
PBackgroundStorageParent* aActor) override;
already_AddRefed<PBackgroundSessionStorageManagerParent>
AllocPBackgroundSessionStorageManagerParent(
const uint64_t& aTopContextId) override;
already_AddRefed<PBackgroundSessionStorageServiceParent>
AllocPBackgroundSessionStorageServiceParent() override;
mozilla::ipc::IPCResult RecvCreateFileSystemManagerParent(
const PrincipalInfo& aPrincipalInfo,
Endpoint<mozilla::dom::PFileSystemManagerParent>&& aParentEndpoint,
CreateFileSystemManagerParentResolver&& aResolver) override;
mozilla::ipc::IPCResult RecvCreateWebTransportParent(
const nsAString& aURL, nsIPrincipal* aPrincipal,
const mozilla::Maybe<IPCClientInfo>& aClientInfo, const bool& aDedicated,
const bool& aRequireUnreliable, const uint32_t& aCongestionControl,
nsTArray<WebTransportHash>&& aServerCertHashes,
Endpoint<PWebTransportParent>&& aParentEndpoint,
CreateWebTransportParentResolver&& aResolver) override;
mozilla::ipc::IPCResult RecvCreateNotificationParent(
Endpoint<dom::notification::PNotificationParent>&& aParentEndpoint,
NotNull<nsIPrincipal*> aPrincipal,
NotNull<nsIPrincipal*> aEffectiveStoragePrincipal,
const bool& aIsSecureContext, const nsAString& aId,
const nsAString& aScope, const IPCNotificationOptions& aOptions,
CreateNotificationParentResolver&& aResolver) final;
already_AddRefed<PIdleSchedulerParent> AllocPIdleSchedulerParent() override;
PTemporaryIPCBlobParent* AllocPTemporaryIPCBlobParent() override;
mozilla::ipc::IPCResult RecvPTemporaryIPCBlobConstructor(
PTemporaryIPCBlobParent* actor) override;
bool DeallocPTemporaryIPCBlobParent(PTemporaryIPCBlobParent* aActor) override;
PFileCreatorParent* AllocPFileCreatorParent(
const nsAString& aFullPath, const nsAString& aType,
const nsAString& aName, const Maybe<int64_t>& aLastModified,
const bool& aExistenceCheck, const bool& aIsFromNsIFile) override;
mozilla::ipc::IPCResult RecvPFileCreatorConstructor(
PFileCreatorParent* actor, const nsAString& aFullPath,
const nsAString& aType, const nsAString& aName,
const Maybe<int64_t>& aLastModified, const bool& aExistenceCheck,
const bool& aIsFromNsIFile) override;
bool DeallocPFileCreatorParent(PFileCreatorParent* aActor) override;
already_AddRefed<mozilla::dom::PRemoteWorkerControllerParent>
AllocPRemoteWorkerControllerParent(
const mozilla::dom::RemoteWorkerData& aRemoteWorkerData) override;
mozilla::ipc::IPCResult RecvPRemoteWorkerControllerConstructor(
mozilla::dom::PRemoteWorkerControllerParent* aActor,
const mozilla::dom::RemoteWorkerData& aRemoteWorkerData) override;
mozilla::dom::PSharedWorkerParent* AllocPSharedWorkerParent(
const mozilla::dom::RemoteWorkerData& aData, const uint64_t& aWindowID,
const mozilla::dom::MessagePortIdentifier& aPortIdentifier) override;
mozilla::ipc::IPCResult RecvPSharedWorkerConstructor(
PSharedWorkerParent* aActor, const mozilla::dom::RemoteWorkerData& aData,
const uint64_t& aWindowID,
const mozilla::dom::MessagePortIdentifier& aPortIdentifier) override;
bool DeallocPSharedWorkerParent(PSharedWorkerParent* aActor) override;
already_AddRefed<PVsyncParent> AllocPVsyncParent() override;
PBroadcastChannelParent* AllocPBroadcastChannelParent(
const PrincipalInfo& aPrincipalInfo, const nsACString& aOrigin,
const nsAString& aChannel) override;
mozilla::ipc::IPCResult RecvPBroadcastChannelConstructor(
PBroadcastChannelParent* actor, const PrincipalInfo& aPrincipalInfo,
const nsACString& origin, const nsAString& channel) override;
bool DeallocPBroadcastChannelParent(PBroadcastChannelParent* aActor) override;
virtual PCookieStoreParent* AllocPCookieStoreParent() override;
virtual bool DeallocPCookieStoreParent(PCookieStoreParent* aActor) override;
PServiceWorkerManagerParent* AllocPServiceWorkerManagerParent() override;
bool DeallocPServiceWorkerManagerParent(
PServiceWorkerManagerParent* aActor) override;
PCamerasParent* AllocPCamerasParent() override;
#ifdef MOZ_WEBRTC
mozilla::ipc::IPCResult RecvPCamerasConstructor(
PCamerasParent* aActor) override;
#endif
bool DeallocPCamerasParent(PCamerasParent* aActor) override;
mozilla::ipc::IPCResult RecvShutdownServiceWorkerRegistrar() override;
already_AddRefed<dom::cache::PCacheStorageParent> AllocPCacheStorageParent(
const dom::cache::Namespace& aNamespace,
const PrincipalInfo& aPrincipalInfo) override;
PUDPSocketParent* AllocPUDPSocketParent(const Maybe<PrincipalInfo>& pInfo,
const nsACString& aFilter) override;
mozilla::ipc::IPCResult RecvPUDPSocketConstructor(
PUDPSocketParent*, const Maybe<PrincipalInfo>& aPrincipalInfo,
const nsACString& aFilter) override;
bool DeallocPUDPSocketParent(PUDPSocketParent*) override;
PMessagePortParent* AllocPMessagePortParent(
const nsID& aUUID, const nsID& aDestinationUUID,
const uint32_t& aSequenceID) override;
mozilla::ipc::IPCResult RecvPMessagePortConstructor(
PMessagePortParent* aActor, const nsID& aUUID,
const nsID& aDestinationUUID, const uint32_t& aSequenceID) override;
bool DeallocPMessagePortParent(PMessagePortParent* aActor) override;
mozilla::ipc::IPCResult RecvMessagePortForceClose(
const nsID& aUUID, const nsID& aDestinationUUID,
const uint32_t& aSequenceID) override;
already_AddRefed<PQuotaParent> AllocPQuotaParent() override;
mozilla::ipc::IPCResult RecvShutdownQuotaManager() override;
mozilla::ipc::IPCResult RecvShutdownBackgroundSessionStorageManagers()
override;
mozilla::ipc::IPCResult RecvPropagateBackgroundSessionStorageManager(
const uint64_t& aCurrentTopContextId,
const uint64_t& aTargetTopContextId) override;
mozilla::ipc::IPCResult RecvRemoveBackgroundSessionStorageManager(
const uint64_t& aTopContextId) override;
mozilla::ipc::IPCResult RecvLoadSessionStorageManagerData(
const uint64_t& aTopContextId,
nsTArray<mozilla::dom::SSCacheCopy>&& aOriginCacheCopy) override;
mozilla::ipc::IPCResult RecvGetSessionStorageManagerData(
const uint64_t& aTopContextId, const uint32_t& aSizeLimit,
const bool& aCancelSessionStoreTimer,
GetSessionStorageManagerDataResolver&& aResolver) override;
already_AddRefed<PFileSystemRequestParent> AllocPFileSystemRequestParent(
const FileSystemParams&) override;
mozilla::ipc::IPCResult RecvPFileSystemRequestConstructor(
PFileSystemRequestParent* actor, const FileSystemParams& params) override;
// Gamepad API Background IPC
already_AddRefed<PGamepadEventChannelParent> AllocPGamepadEventChannelParent()
override;
already_AddRefed<PGamepadTestChannelParent> AllocPGamepadTestChannelParent()
override;
PWebAuthnTransactionParent* AllocPWebAuthnTransactionParent() override;
bool DeallocPWebAuthnTransactionParent(
PWebAuthnTransactionParent* aActor) override;
already_AddRefed<PHttpBackgroundChannelParent>
AllocPHttpBackgroundChannelParent(const uint64_t& aChannelId) override;
mozilla::ipc::IPCResult RecvPHttpBackgroundChannelConstructor(
PHttpBackgroundChannelParent* aActor,
const uint64_t& aChannelId) override;
already_AddRefed<PClientManagerParent> AllocPClientManagerParent() override;
mozilla::ipc::IPCResult RecvPClientManagerConstructor(
PClientManagerParent* aActor) override;
mozilla::ipc::IPCResult RecvCreateMIDIPort(
Endpoint<PMIDIPortParent>&& aEndpoint, const MIDIPortInfo& aPortInfo,
const bool& aSysexEnabled) override;
mozilla::ipc::IPCResult RecvCreateMIDIManager(
Endpoint<PMIDIManagerParent>&& aEndpoint) override;
mozilla::ipc::IPCResult RecvHasMIDIDevice(
HasMIDIDeviceResolver&& aResolver) override;
mozilla::ipc::IPCResult RecvStorageActivity(
const PrincipalInfo& aPrincipalInfo) override;
already_AddRefed<PServiceWorkerParent> AllocPServiceWorkerParent(
const IPCServiceWorkerDescriptor&) final;
mozilla::ipc::IPCResult RecvPServiceWorkerManagerConstructor(
PServiceWorkerManagerParent* aActor) override;
mozilla::ipc::IPCResult RecvPServiceWorkerConstructor(
PServiceWorkerParent* aActor,
const IPCServiceWorkerDescriptor& aDescriptor) override;
already_AddRefed<PServiceWorkerContainerParent>
AllocPServiceWorkerContainerParent() final;
mozilla::ipc::IPCResult RecvPServiceWorkerContainerConstructor(
PServiceWorkerContainerParent* aActor) override;
already_AddRefed<PServiceWorkerRegistrationParent>
AllocPServiceWorkerRegistrationParent(
const IPCServiceWorkerRegistrationDescriptor&,
const IPCClientInfo&) final;
mozilla::ipc::IPCResult RecvPServiceWorkerRegistrationConstructor(
PServiceWorkerRegistrationParent* aActor,
const IPCServiceWorkerRegistrationDescriptor& aDescriptor,
const IPCClientInfo& aForClient) override;
PEndpointForReportParent* AllocPEndpointForReportParent(
const nsAString& aGroupName,
const PrincipalInfo& aPrincipalInfo) override;
mozilla::ipc::IPCResult RecvPEndpointForReportConstructor(
PEndpointForReportParent* actor, const nsAString& aGroupName,
const PrincipalInfo& aPrincipalInfo) override;
mozilla::ipc::IPCResult RecvEnsureRDDProcessAndCreateBridge(
EnsureRDDProcessAndCreateBridgeResolver&& aResolver) override;
mozilla::ipc::IPCResult RecvEnsureUtilityProcessAndCreateBridge(
const RemoteDecodeIn& aLocation,
EnsureUtilityProcessAndCreateBridgeResolver&& aResolver) override;
mozilla::ipc::IPCResult RecvRequestCameraAccess(
const bool& aAllowPermissionRequest,
RequestCameraAccessResolver&& aResolver) override;
bool DeallocPEndpointForReportParent(
PEndpointForReportParent* aActor) override;
mozilla::ipc::IPCResult RecvRemoveEndpoint(
const nsAString& aGroupName, const nsACString& aEndpointURL,
const PrincipalInfo& aPrincipalInfo) override;
mozilla::ipc::IPCResult RecvPLockManagerConstructor(
PLockManagerParent* actor, mozilla::NotNull<nsIPrincipal*> aPrincipalInfo,
const Maybe<nsID>& aClientId) override;
already_AddRefed<PLockManagerParent> AllocPLockManagerParent(
NotNull<nsIPrincipal*> aPrincipal, const Maybe<nsID>& aClientId) final;
already_AddRefed<PFetchParent> AllocPFetchParent() override;
};
} // namespace mozilla::ipc
#endif // mozilla_ipc_backgroundparentimpl_h__