/* 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 PAsmJSCacheEntry; include protocol PBackgroundIDBFactory; include protocol PBackgroundIndexedDBUtils; include protocol PBackgroundStorage; include protocol PBackgroundTest; include protocol PBroadcastChannel; include protocol PCache; include protocol PCacheStorage; include protocol PCacheStreamControl; include protocol PFileDescriptorSet; include protocol PFileSystemRequest; include protocol PGamepadEventChannel; include protocol PGamepadTestChannel; include protocol PHttpBackgroundChannel; include protocol PIPCBlobInputStream; include protocol PPendingIPCBlob; include protocol PTemporaryIPCBlob; include protocol PMessagePort; include protocol PCameras; include protocol PQuota; include protocol PChildToParentStream; include protocol PParentToChildStream; include protocol PServiceWorkerManager; include protocol PWebAuthnTransaction; include protocol PUDPSocket; include protocol PVsync; include DOMTypes; include IPCBlob; include PBackgroundSharedTypes; include PBackgroundIDBSharedTypes; include PFileSystemParams; include ProtocolTypes; include "mozilla/dom/cache/IPCUtils.h"; using mozilla::dom::cache::Namespace from "mozilla/dom/cache/Types.h"; using mozilla::dom::asmjscache::OpenMode from "mozilla/dom/asmjscache/AsmJSCache.h"; using mozilla::dom::asmjscache::WriteParams from "mozilla/dom/asmjscache/AsmJSCache.h"; namespace mozilla { namespace ipc { sync protocol PBackground { manages PAsmJSCacheEntry; manages PBackgroundIDBFactory; manages PBackgroundIndexedDBUtils; manages PBackgroundStorage; manages PBackgroundTest; manages PBroadcastChannel; manages PCache; manages PCacheStorage; manages PCacheStreamControl; manages PFileDescriptorSet; manages PFileSystemRequest; manages PGamepadEventChannel; manages PGamepadTestChannel; manages PHttpBackgroundChannel; manages PIPCBlobInputStream; manages PPendingIPCBlob; manages PTemporaryIPCBlob; manages PMessagePort; manages PCameras; manages PQuota; manages PChildToParentStream; manages PParentToChildStream; manages PServiceWorkerManager; 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 PBackgroundStorage(nsString profilePath); async BroadcastLocalStorageChange(nsString documentURI, nsString key, nsString oldValue, nsString newValue, PrincipalInfo principalInfo, bool isPrivate); async PVsync(); async PCameras(); async PUDPSocket(OptionalPrincipalInfo 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 PAsmJSCacheEntry(OpenMode openMode, WriteParams write, PrincipalInfo principalInfo); async PQuota(); async PFileSystemRequest(FileSystemParams params); async PGamepadEventChannel(); async PGamepadTestChannel(); async PHttpBackgroundChannel(uint64_t channelId); async PWebAuthnTransaction(); async PTemporaryIPCBlob(); child: async PCache(); async PCacheStreamControl(); async PParentToChildStream(); async PPendingIPCBlob(IPCBlob blob); async DispatchLocalStorageChange(nsString documentURI, nsString key, nsString oldValue, nsString newValue, PrincipalInfo principalInfo, bool isPrivate); 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