mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 21:00:42 +02:00
Differential Revision: https://phabricator.services.mozilla.com/D40266 --HG-- extra : moz-landing-system : lando
48 lines
1.4 KiB
Text
48 lines
1.4 KiB
Text
/* 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 PFileDescriptorSet;
|
|
include protocol PParentToChildStream;
|
|
|
|
include IPCStream;
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
refcounted protocol PIPCBlobInputStream
|
|
{
|
|
manager PBackground or PContent;
|
|
|
|
parent:
|
|
async StreamNeeded();
|
|
|
|
async LengthNeeded();
|
|
|
|
// When this is called, the parent releases the inputStream and sends a
|
|
// __delete__.
|
|
async Close();
|
|
|
|
child:
|
|
async StreamReady(IPCStream? aStream);
|
|
|
|
async LengthReady(int64_t aLength);
|
|
|
|
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
|
|
|