mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-15 14:25:52 +00:00
46 lines
1.4 KiB
Plaintext
46 lines
1.4 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 PBackground;
|
|
include protocol PChildToParentStream;
|
|
include protocol PContent;
|
|
include protocol PContentBridge;
|
|
include protocol PFileDescriptorSet;
|
|
include protocol PParentToChildStream;
|
|
|
|
include IPCStream;
|
|
|
|
namespace mozilla {
|
|
namespace ipc {
|
|
|
|
protocol PIPCBlobInputStream
|
|
{
|
|
manager PBackground or PContent or PContentBridge;
|
|
|
|
parent:
|
|
async StreamNeeded();
|
|
|
|
// When this is called, the parent releases the inputStream and sends a
|
|
// __delete__.
|
|
async Close();
|
|
|
|
child:
|
|
async StreamReady(OptionalIPCStream aStream);
|
|
|
|
both:
|
|
// __delete__ can be called by parent and by child for 2 reasons:
|
|
// - parent->child: This happens after a Close(). The child wants to inform
|
|
// the parent that no other messages will be dispatched and
|
|
// that the channel can be interrupted.
|
|
// - child->parent: before any operation, the child could start a migration
|
|
// from the current thread to a dedicated DOM-File one. The
|
|
// reason why a __delete__ is sent from child to parent is
|
|
// because it doesn't require any additional runnables.
|
|
async __delete__();
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|
|
|