gecko-dev/ipc/glue/PBackground.ipdl
Cervantes Yu aa6f91dd67 Bug 1155547, Part 2: Create PNuwa protocol (managed by PBackground) for forking content processes. r=khuey
This allows us to send a sync fork request to the Nuwa process when we need one but there is no
spare process available. After an app is launched, the request to fork a spare process is still
handled asynchronously.

--HG--
extra : rebase_source : 9b692a647f4fc861285d95f0372d6a9913eadf64
2015-07-31 15:25:27 +08:00

81 lines
2.0 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 PBackgroundTest;
include protocol PBlob;
include protocol PBroadcastChannel;
include protocol PCache;
include protocol PCacheStorage;
include protocol PCacheStreamControl;
include protocol PFileDescriptorSet;
include protocol PMessagePort;
include protocol PNuwa;
include protocol PServiceWorkerManager;
include protocol PUDPSocket;
include protocol PVsync;
include DOMTypes;
include PBackgroundSharedTypes;
include PBackgroundIDBSharedTypes;
using mozilla::dom::cache::Namespace from "mozilla/dom/cache/Types.h";
include "mozilla/dom/cache/IPCUtils.h";
namespace mozilla {
namespace ipc {
sync protocol PBackground
{
manages PBackgroundIDBFactory;
manages PBackgroundTest;
manages PBlob;
manages PBroadcastChannel;
manages PCache;
manages PCacheStorage;
manages PCacheStreamControl;
manages PFileDescriptorSet;
manages PMessagePort;
manages PNuwa;
manages PServiceWorkerManager;
manages PUDPSocket;
manages PVsync;
parent:
// Only called at startup during mochitests to check the basic infrastructure.
PBackgroundTest(nsCString testArg);
PBackgroundIDBFactory(LoggingInfo loggingInfo);
PVsync();
PUDPSocket(OptionalPrincipalInfo pInfo, nsCString filter);
PBroadcastChannel(PrincipalInfo pInfo, nsCString origin, nsString channel,
bool privateBrowsing);
PServiceWorkerManager();
ShutdownServiceWorkerRegistrar();
PCacheStorage(Namespace aNamespace, PrincipalInfo aPrincipalInfo);
PMessagePort(nsID uuid, nsID destinationUuid, uint32_t sequenceId);
PNuwa();
MessagePortForceClose(nsID uuid, nsID destinationUuid, uint32_t sequenceId);
child:
PCache();
PCacheStreamControl();
both:
PBlob(BlobConstructorParams params);
PFileDescriptorSet(FileDescriptor fd);
};
} // namespace ipc
} // namespace mozilla