2012-08-02 06:02:29 +00: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-26 23:21:57 +00:00
|
|
|
include protocol PBackground;
|
2012-08-02 06:02:29 +00:00
|
|
|
include protocol PBlobStream;
|
|
|
|
include protocol PContent;
|
2014-06-11 05:44:13 +00:00
|
|
|
include protocol PContentBridge;
|
2014-12-17 06:26:15 +00:00
|
|
|
include protocol PFileDescriptorSet;
|
2012-08-02 06:02:29 +00:00
|
|
|
|
2012-08-03 06:25:30 +00:00
|
|
|
include DOMTypes;
|
2014-12-17 06:26:15 +00:00
|
|
|
include InputStreamParams;
|
2012-08-03 06:25:30 +00:00
|
|
|
|
2012-08-02 06:02:29 +00:00
|
|
|
namespace mozilla {
|
|
|
|
namespace dom {
|
|
|
|
|
2012-08-03 06:25:30 +00:00
|
|
|
union ResolveMysteryParams
|
|
|
|
{
|
|
|
|
NormalBlobConstructorParams;
|
|
|
|
FileBlobConstructorParams;
|
|
|
|
};
|
|
|
|
|
2014-09-26 23:21:57 +00:00
|
|
|
sync protocol PBlob
|
2012-08-02 06:02:29 +00:00
|
|
|
{
|
2014-09-26 23:21:57 +00:00
|
|
|
manager PBackground or PContent or PContentBridge;
|
2012-08-02 06:02:29 +00:00
|
|
|
manages PBlobStream;
|
|
|
|
|
|
|
|
both:
|
|
|
|
__delete__();
|
|
|
|
|
2014-09-26 23:21:57 +00:00
|
|
|
parent:
|
2014-10-07 23:09:55 +00:00
|
|
|
PBlobStream(uint64_t begin, uint64_t length);
|
2012-08-03 06:25:30 +00:00
|
|
|
|
|
|
|
ResolveMystery(ResolveMysteryParams params);
|
2014-09-26 23:21:57 +00:00
|
|
|
|
2014-12-17 06:26:15 +00:00
|
|
|
sync BlobStreamSync(uint64_t begin, uint64_t length)
|
|
|
|
returns (InputStreamParams params, OptionalFileDescriptorSet fds);
|
|
|
|
|
2014-09-26 23:21:57 +00: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 10:48:28 +00:00
|
|
|
|
|
|
|
child:
|
|
|
|
// This method must be called by the parent when the PBlobParent is fully
|
|
|
|
// created in order to release the known blob.
|
|
|
|
CreatedFromKnownBlob();
|
2012-08-02 06:02:29 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace dom
|
|
|
|
} // namespace mozilla
|