зеркало из https://github.com/mozilla/gecko-dev.git
248 строки
7.5 KiB
Plaintext
248 строки
7.5 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 PBackgroundIDBFactory;
|
|
include protocol PBackgroundIndexedDBUtils;
|
|
include protocol PBackgroundSDBConnection;
|
|
include protocol PBackgroundLSDatabase;
|
|
include protocol PBackgroundLSObserver;
|
|
include protocol PBackgroundLSRequest;
|
|
include protocol PBackgroundLSSimpleRequest;
|
|
include protocol PBackgroundLocalStorageCache;
|
|
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 PFileDescriptorSet;
|
|
include protocol PFileSystemRequest;
|
|
include protocol PGamepadEventChannel;
|
|
include protocol PGamepadTestChannel;
|
|
include protocol PHttpBackgroundChannel;
|
|
include protocol PIPCBlobInputStream;
|
|
include protocol PPendingIPCBlob;
|
|
include protocol PRemoteWorker;
|
|
include protocol PRemoteWorkerService;
|
|
include protocol PSharedWorker;
|
|
include protocol PTemporaryIPCBlob;
|
|
include protocol PFileCreator;
|
|
include protocol PMessagePort;
|
|
include protocol PCameras;
|
|
include protocol PMIDIManager;
|
|
include protocol PMIDIPort;
|
|
include protocol PQuota;
|
|
include protocol PChildToParentStream;
|
|
include protocol PParentToChildStream;
|
|
include protocol PServiceWorker;
|
|
include protocol PServiceWorkerContainer;
|
|
include protocol PServiceWorkerManager;
|
|
include protocol PServiceWorkerRegistration;
|
|
include protocol PWebAuthnTransaction;
|
|
include protocol PUDPSocket;
|
|
include protocol PVsync;
|
|
|
|
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/layers/LayersMessageUtils.h";
|
|
|
|
using mozilla::dom::cache::Namespace
|
|
from "mozilla/dom/cache/Types.h";
|
|
|
|
namespace mozilla {
|
|
namespace ipc {
|
|
|
|
sync protocol PBackground
|
|
{
|
|
manages PBackgroundIDBFactory;
|
|
manages PBackgroundIndexedDBUtils;
|
|
manages PBackgroundSDBConnection;
|
|
manages PBackgroundLSDatabase;
|
|
manages PBackgroundLSObserver;
|
|
manages PBackgroundLSRequest;
|
|
manages PBackgroundLSSimpleRequest;
|
|
manages PBackgroundLocalStorageCache;
|
|
manages PBackgroundStorage;
|
|
manages PBackgroundTest;
|
|
manages PBroadcastChannel;
|
|
manages PCache;
|
|
manages PCacheStorage;
|
|
manages PCacheStreamControl;
|
|
manages PClientManager;
|
|
manages PEndpointForReport;
|
|
manages PFileDescriptorSet;
|
|
manages PFileSystemRequest;
|
|
manages PGamepadEventChannel;
|
|
manages PGamepadTestChannel;
|
|
manages PHttpBackgroundChannel;
|
|
manages PIPCBlobInputStream;
|
|
manages PPendingIPCBlob;
|
|
manages PRemoteWorker;
|
|
manages PRemoteWorkerService;
|
|
manages PSharedWorker;
|
|
manages PTemporaryIPCBlob;
|
|
manages PFileCreator;
|
|
manages PMessagePort;
|
|
manages PCameras;
|
|
manages PMIDIManager;
|
|
manages PMIDIPort;
|
|
manages PQuota;
|
|
manages PChildToParentStream;
|
|
manages PParentToChildStream;
|
|
manages PServiceWorker;
|
|
manages PServiceWorkerContainer;
|
|
manages PServiceWorkerManager;
|
|
manages PServiceWorkerRegistration;
|
|
manages PWebAuthnTransaction;
|
|
manages PUDPSocket;
|
|
manages PVsync;
|
|
|
|
parent:
|
|
// Only called at startup during mochitests to check the basic infrastructure.
|
|
async PBackgroundTest(nsCString testArg);
|
|
|
|
async PBackgroundIDBFactory(LoggingInfo loggingInfo);
|
|
|
|
async PBackgroundIndexedDBUtils();
|
|
|
|
// Use only for testing!
|
|
async FlushPendingFileDeletions();
|
|
|
|
async PBackgroundSDBConnection(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);
|
|
|
|
/**
|
|
* Asynchronously propagates the "last-pb-context-exited" observer
|
|
* notification to LocalStorage NextGen implementation so it can clear
|
|
* retained private-browsing in-memory Datastores. Using a (same-process)
|
|
* IPC message avoids the need for the main-thread nsIObserver to have a
|
|
* reference to the PBackground thread and directly dispatch a runnable to it.
|
|
*/
|
|
async LSClearPrivateBrowsing();
|
|
|
|
async PBackgroundLocalStorageCache(PrincipalInfo principalInfo,
|
|
nsCString originKey,
|
|
uint32_t privateBrowsingId);
|
|
|
|
async PBackgroundStorage(nsString profilePath);
|
|
|
|
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 PChildToParentStream();
|
|
|
|
async MessagePortForceClose(nsID uuid, nsID destinationUuid, uint32_t sequenceId);
|
|
|
|
async PQuota();
|
|
|
|
async ShutdownQuotaManager();
|
|
|
|
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 PMIDIManager();
|
|
async PMIDIPort(MIDIPortInfo portInfo, bool sysexEnabled);
|
|
|
|
// 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 PRemoteWorkerService();
|
|
|
|
async PServiceWorkerContainer();
|
|
|
|
async PServiceWorkerRegistration(IPCServiceWorkerRegistrationDescriptor aDescriptor);
|
|
|
|
async PEndpointForReport(nsString aGroupName, PrincipalInfo aPrincipalInfo);
|
|
|
|
async RemoveEndpoint(nsString aGroupName, nsCString aEndpointURL,
|
|
PrincipalInfo aPrincipalInfo);
|
|
|
|
child:
|
|
async PCache();
|
|
async PCacheStreamControl();
|
|
|
|
async PParentToChildStream();
|
|
|
|
async PPendingIPCBlob(IPCBlob blob);
|
|
|
|
async PRemoteWorker(RemoteWorkerData data);
|
|
|
|
both:
|
|
// PIPCBlobInputStream is created on the parent side only if the child starts
|
|
// a migration.
|
|
async PIPCBlobInputStream(nsID aID, uint64_t aSize);
|
|
|
|
async PFileDescriptorSet(FileDescriptor fd);
|
|
};
|
|
|
|
} // namespace ipc
|
|
} // namespace mozilla
|