зеркало из https://github.com/mozilla/gecko-dev.git
291 строка
9.3 KiB
Plaintext
291 строка
9.3 KiB
Plaintext
/* 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 protocol PBackgroundDataBridge;
|
|
include protocol PBackgroundIDBFactory;
|
|
include protocol PBackgroundIndexedDBUtils;
|
|
include protocol PBackgroundSDBConnection;
|
|
include protocol PBackgroundLSDatabase;
|
|
include protocol PBackgroundLSObserver;
|
|
include protocol PBackgroundLSRequest;
|
|
include protocol PBackgroundLSSimpleRequest;
|
|
include protocol PBackgroundLocalStorageCache;
|
|
include protocol PBackgroundSessionStorageManager;
|
|
include protocol PBackgroundSessionStorageService;
|
|
include protocol PBackgroundStorage;
|
|
include protocol PBackgroundTest;
|
|
include protocol PBroadcastChannel;
|
|
include protocol PCache;
|
|
include protocol PCacheStorage;
|
|
include protocol PCacheStreamControl;
|
|
include protocol PClientManager;
|
|
include protocol PEndpointForReport;
|
|
include protocol PFileSystemManager;
|
|
include protocol PFileSystemRequest;
|
|
include protocol PGamepadEventChannel;
|
|
include protocol PGamepadTestChannel;
|
|
include protocol PHttpBackgroundChannel;
|
|
include protocol PIdleScheduler;
|
|
include protocol PRemoteWorkerController;
|
|
include protocol PRemoteWorkerService;
|
|
include protocol PSharedWorker;
|
|
include protocol PTemporaryIPCBlob;
|
|
include protocol PFileCreator;
|
|
include protocol PMessagePort;
|
|
include protocol PCameras;
|
|
include protocol PLockManager;
|
|
include protocol PMIDIManager;
|
|
include protocol PMIDIPort;
|
|
include protocol PQuota;
|
|
include protocol PServiceWorker;
|
|
include protocol PServiceWorkerContainer;
|
|
include protocol PServiceWorkerManager;
|
|
include protocol PServiceWorkerRegistration;
|
|
include protocol PWebAuthnTransaction;
|
|
include protocol PUDPSocket;
|
|
include protocol PVsync;
|
|
include protocol PRemoteDecoderManager;
|
|
include protocol PWebTransport;
|
|
include protocol PFetch;
|
|
|
|
include ClientIPCTypes;
|
|
include DOMTypes;
|
|
include IPCBlob;
|
|
include IPCServiceWorkerDescriptor;
|
|
include IPCServiceWorkerRegistrationDescriptor;
|
|
include PBackgroundLSSharedTypes;
|
|
include PBackgroundSharedTypes;
|
|
include PBackgroundIDBSharedTypes;
|
|
include PFileSystemParams;
|
|
include ProtocolTypes;
|
|
include RemoteWorkerTypes;
|
|
include MIDITypes;
|
|
|
|
include "mozilla/dom/cache/IPCUtils.h";
|
|
include "mozilla/dom/quota/SerializationHelpers.h";
|
|
include "mozilla/dom/PermissionMessageUtils.h";
|
|
include "mozilla/layers/LayersMessageUtils.h";
|
|
|
|
using mozilla::dom::cache::Namespace
|
|
from "mozilla/dom/cache/Types.h";
|
|
|
|
using class mozilla::dom::SSCacheCopy from "mozilla/dom/PBackgroundSessionStorageCache.h";
|
|
|
|
using mozilla::RemoteDecodeIn from "mozilla/RemoteDecoderManagerChild.h";
|
|
|
|
using mozilla::camera::CamerasAccessStatus from "mozilla/media/CamerasTypes.h";
|
|
|
|
namespace mozilla {
|
|
namespace ipc {
|
|
|
|
[NeedsOtherPid, ChildImpl=virtual, ParentImpl=virtual, ChildProc=anydom]
|
|
sync protocol PBackground
|
|
{
|
|
manages PBackgroundIDBFactory;
|
|
manages PBackgroundIndexedDBUtils;
|
|
manages PBackgroundSDBConnection;
|
|
manages PBackgroundLSDatabase;
|
|
manages PBackgroundLSObserver;
|
|
manages PBackgroundLSRequest;
|
|
manages PBackgroundLSSimpleRequest;
|
|
manages PBackgroundLocalStorageCache;
|
|
manages PBackgroundSessionStorageManager;
|
|
manages PBackgroundSessionStorageService;
|
|
manages PBackgroundStorage;
|
|
manages PBackgroundTest;
|
|
manages PBroadcastChannel;
|
|
manages PCache;
|
|
manages PCacheStorage;
|
|
manages PCacheStreamControl;
|
|
manages PClientManager;
|
|
manages PEndpointForReport;
|
|
manages PFileSystemRequest;
|
|
manages PGamepadEventChannel;
|
|
manages PGamepadTestChannel;
|
|
manages PHttpBackgroundChannel;
|
|
manages PIdleScheduler;
|
|
manages PLockManager;
|
|
manages PRemoteWorkerController;
|
|
manages PSharedWorker;
|
|
manages PTemporaryIPCBlob;
|
|
manages PFileCreator;
|
|
manages PMessagePort;
|
|
manages PCameras;
|
|
manages PQuota;
|
|
manages PServiceWorker;
|
|
manages PServiceWorkerContainer;
|
|
manages PServiceWorkerManager;
|
|
manages PServiceWorkerRegistration;
|
|
manages PWebAuthnTransaction;
|
|
manages PUDPSocket;
|
|
manages PVsync;
|
|
manages PFetch;
|
|
|
|
parent:
|
|
// Only called at startup during mochitests to check the basic infrastructure.
|
|
async PBackgroundTest(nsCString testArg);
|
|
|
|
async PBackgroundIDBFactory(LoggingInfo loggingInfo,
|
|
nsCString systemLocale);
|
|
|
|
async PBackgroundIndexedDBUtils();
|
|
|
|
// Use only for testing!
|
|
async FlushPendingFileDeletions();
|
|
|
|
async PBackgroundSDBConnection(PersistenceType persistenceType,
|
|
PrincipalInfo principalInfo);
|
|
|
|
async PBackgroundLSDatabase(PrincipalInfo principalInfo,
|
|
uint32_t privateBrowsingId,
|
|
uint64_t datastoreId);
|
|
|
|
async PBackgroundLSObserver(uint64_t observerId);
|
|
|
|
/**
|
|
* Issue an asynchronous request that will be used in a synchronous fashion
|
|
* through complex machinations described in `PBackgroundLSRequest.ipdl` and
|
|
* `LSObject.h`.
|
|
*/
|
|
async PBackgroundLSRequest(LSRequestParams params);
|
|
|
|
/**
|
|
* Issues a simple, non-cancelable asynchronous request that's used in an
|
|
* asynchronous fashion by callers. (LSRequest is not simple because it used
|
|
* in a synchronous fashion which leads to complexities regarding cancelation,
|
|
* see `PBackgroundLSRequest.ipdl` for details.)
|
|
*/
|
|
async PBackgroundLSSimpleRequest(LSSimpleRequestParams params);
|
|
|
|
async PBackgroundLocalStorageCache(PrincipalInfo principalInfo,
|
|
nsCString originKey,
|
|
uint32_t privateBrowsingId);
|
|
|
|
async PBackgroundSessionStorageManager(uint64_t aTopContextId);
|
|
|
|
async PBackgroundSessionStorageService();
|
|
|
|
async PBackgroundStorage(nsString profilePath, uint32_t privateBrowsingId);
|
|
|
|
/**
|
|
* Finish the setup of a new PFileSystemManager top level protocol.
|
|
*/
|
|
async CreateFileSystemManagerParent(
|
|
PrincipalInfo principalInfo,
|
|
Endpoint<PFileSystemManagerParent> aParentEndpoint)
|
|
returns(nsresult rv);
|
|
|
|
/**
|
|
* Finish the setup of a new PWebTransport top level protocol.
|
|
*/
|
|
async CreateWebTransportParent(
|
|
nsString aURL,
|
|
nullable nsIPrincipal aPrincipal,
|
|
IPCClientInfo? aClientInfo,
|
|
bool aDedicated,
|
|
bool aRequireUnreliable,
|
|
uint32_t aCongestionControl,
|
|
WebTransportHash[] aServerCertHashes,
|
|
Endpoint<PWebTransportParent> aParentEndpoint)
|
|
returns(nsresult rv, uint8_t aReliability); // Actually WebTransportReliabityMode enum
|
|
|
|
async PVsync();
|
|
|
|
async PCameras();
|
|
|
|
async PUDPSocket(PrincipalInfo? pInfo, nsCString filter);
|
|
async PBroadcastChannel(PrincipalInfo pInfo, nsCString origin, nsString channel);
|
|
|
|
async PServiceWorkerManager();
|
|
|
|
async ShutdownServiceWorkerRegistrar();
|
|
|
|
async PCacheStorage(Namespace aNamespace, PrincipalInfo aPrincipalInfo);
|
|
|
|
async PMessagePort(nsID uuid, nsID destinationUuid, uint32_t sequenceId);
|
|
|
|
async MessagePortForceClose(nsID uuid, nsID destinationUuid, uint32_t sequenceId);
|
|
|
|
async PQuota();
|
|
|
|
async ShutdownQuotaManager();
|
|
|
|
async ShutdownBackgroundSessionStorageManagers();
|
|
|
|
async PropagateBackgroundSessionStorageManager(uint64_t currentTopContextId, uint64_t targetTopContextId);
|
|
|
|
async RemoveBackgroundSessionStorageManager(uint64_t topContextId);
|
|
|
|
async GetSessionStorageManagerData(
|
|
uint64_t aTopContextId, uint32_t aSizeLimit, bool aCancelSessionStoreTimer)
|
|
returns(SSCacheCopy[] aCacheCopy);
|
|
|
|
async LoadSessionStorageManagerData(uint64_t aTopContextId, SSCacheCopy[] aOriginCacheCopy);
|
|
|
|
async PFileSystemRequest(FileSystemParams params);
|
|
|
|
async PGamepadEventChannel();
|
|
|
|
async PGamepadTestChannel();
|
|
|
|
async PHttpBackgroundChannel(uint64_t channelId);
|
|
|
|
async PWebAuthnTransaction();
|
|
|
|
async PSharedWorker(RemoteWorkerData data,
|
|
uint64_t windowID,
|
|
MessagePortIdentifier portIdentifier);
|
|
|
|
async PTemporaryIPCBlob();
|
|
|
|
async PFileCreator(nsString aFullPath, nsString aType, nsString aName,
|
|
int64_t? lastModified, bool aExistenceCheck,
|
|
bool aIsFromNsIFile);
|
|
|
|
async PClientManager();
|
|
|
|
async CreateMIDIManager(Endpoint<PMIDIManagerParent> aEndpoint);
|
|
async CreateMIDIPort(Endpoint<PMIDIPortParent> aEndpoint,
|
|
MIDIPortInfo portInfo, bool sysexEnabled);
|
|
async HasMIDIDevice() returns (bool hasDevice);
|
|
|
|
// This method is used to propagate storage activities from the child actor
|
|
// to the parent actor. See StorageActivityService.
|
|
async StorageActivity(PrincipalInfo principalInfo);
|
|
|
|
async PServiceWorker(IPCServiceWorkerDescriptor aDescriptor);
|
|
|
|
async PRemoteWorkerController(RemoteWorkerData aData);
|
|
|
|
async PServiceWorkerContainer();
|
|
|
|
async PServiceWorkerRegistration(IPCServiceWorkerRegistrationDescriptor aDescriptor);
|
|
|
|
async PEndpointForReport(nsString aGroupName, PrincipalInfo aPrincipalInfo);
|
|
|
|
async RemoveEndpoint(nsString aGroupName, nsCString aEndpointURL,
|
|
PrincipalInfo aPrincipalInfo);
|
|
|
|
async PIdleScheduler();
|
|
|
|
async EnsureRDDProcessAndCreateBridge()
|
|
returns (nsresult rv, Endpoint<PRemoteDecoderManagerChild> aEndpoint);
|
|
|
|
async EnsureUtilityProcessAndCreateBridge(RemoteDecodeIn aLocation)
|
|
returns (nsresult rv, Endpoint<PRemoteDecoderManagerChild> aEndpoint);
|
|
|
|
async PLockManager(nsIPrincipal aPrincipalInfo, nsID? aClientId);
|
|
|
|
async PFetch();
|
|
|
|
async RequestCameraAccess(bool aAllowPermissionRequest) returns (CamerasAccessStatus rv);
|
|
|
|
child:
|
|
async PCache();
|
|
async PCacheStreamControl();
|
|
};
|
|
|
|
} // namespace ipc
|
|
} // namespace mozilla
|