2012-08-02 10:02:29 +04:00
|
|
|
/* 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/. */
|
|
|
|
|
2014-09-27 03:21:57 +04:00
|
|
|
include protocol PBackground;
|
2012-08-02 10:02:29 +04:00
|
|
|
include protocol PBlobStream;
|
|
|
|
include protocol PContent;
|
2014-06-11 09:44:13 +04:00
|
|
|
include protocol PContentBridge;
|
2014-12-17 09:26:15 +03:00
|
|
|
include protocol PFileDescriptorSet;
|
2012-08-02 10:02:29 +04:00
|
|
|
|
2012-08-03 10:25:30 +04:00
|
|
|
include DOMTypes;
|
2014-12-17 09:26:15 +03:00
|
|
|
include InputStreamParams;
|
2012-08-03 10:25:30 +04:00
|
|
|
|
2012-08-02 10:02:29 +04:00
|
|
|
namespace mozilla {
|
|
|
|
namespace dom {
|
|
|
|
|
2012-08-03 10:25:30 +04:00
|
|
|
union ResolveMysteryParams
|
|
|
|
{
|
|
|
|
NormalBlobConstructorParams;
|
|
|
|
FileBlobConstructorParams;
|
|
|
|
};
|
|
|
|
|
2014-09-27 03:21:57 +04:00
|
|
|
sync protocol PBlob
|
2012-08-02 10:02:29 +04:00
|
|
|
{
|
2014-09-27 03:21:57 +04:00
|
|
|
manager PBackground or PContent or PContentBridge;
|
2012-08-02 10:02:29 +04:00
|
|
|
manages PBlobStream;
|
|
|
|
|
|
|
|
both:
|
2016-01-27 00:51:53 +03:00
|
|
|
async __delete__();
|
2012-08-02 10:02:29 +04:00
|
|
|
|
2014-09-27 03:21:57 +04:00
|
|
|
parent:
|
2016-01-27 00:51:53 +03:00
|
|
|
async PBlobStream(uint64_t begin, uint64_t length);
|
2012-08-03 10:25:30 +04:00
|
|
|
|
2016-01-27 00:51:53 +03:00
|
|
|
async ResolveMystery(ResolveMysteryParams params);
|
2014-09-27 03:21:57 +04:00
|
|
|
|
2014-12-17 09:26:15 +03:00
|
|
|
sync BlobStreamSync(uint64_t begin, uint64_t length)
|
|
|
|
returns (InputStreamParams params, OptionalFileDescriptorSet fds);
|
|
|
|
|
2014-09-27 03:21:57 +04:00
|
|
|
sync WaitForSliceCreation();
|
|
|
|
|
|
|
|
// Use only for testing!
|
|
|
|
sync GetFileId()
|
|
|
|
returns (int64_t fileId);
|
|
|
|
|
|
|
|
// Use only for testing!
|
|
|
|
sync GetFilePath()
|
|
|
|
returns (nsString filePath);
|
2015-11-28 13:48:28 +03:00
|
|
|
|
|
|
|
child:
|
|
|
|
// This method must be called by the parent when the PBlobParent is fully
|
|
|
|
// created in order to release the known blob.
|
2016-01-27 00:51:53 +03:00
|
|
|
async CreatedFromKnownBlob();
|
2012-08-02 10:02:29 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace dom
|
|
|
|
} // namespace mozilla
|