mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 23:35:34 +00:00
Backed out changeset 1b6c07b71ba4 (bug 1359718)
This commit is contained in:
parent
8164551943
commit
11edd0b86c
@ -44,6 +44,116 @@ struct ClonedMessageData
|
|||||||
MessagePortIdentifier[] identfiers;
|
MessagePortIdentifier[] identfiers;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// I could remove this completely, but this will be gone in the following patch.
|
||||||
|
union BlobDataStream
|
||||||
|
{
|
||||||
|
IPCStream;
|
||||||
|
};
|
||||||
|
|
||||||
|
union BlobData
|
||||||
|
{
|
||||||
|
// For remote blobs.
|
||||||
|
nsID;
|
||||||
|
|
||||||
|
// For memory-backed blobs.
|
||||||
|
BlobDataStream;
|
||||||
|
|
||||||
|
// For multiplex blobs.
|
||||||
|
BlobData[];
|
||||||
|
};
|
||||||
|
|
||||||
|
union OptionalBlobData
|
||||||
|
{
|
||||||
|
BlobData;
|
||||||
|
void_t;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct NormalBlobConstructorParams
|
||||||
|
{
|
||||||
|
nsString contentType;
|
||||||
|
uint64_t length;
|
||||||
|
|
||||||
|
// This must be of type BlobData in a child->parent message, and will always
|
||||||
|
// be of type void_t in a parent->child message.
|
||||||
|
OptionalBlobData optionalBlobData;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct FileBlobConstructorParams
|
||||||
|
{
|
||||||
|
nsString name;
|
||||||
|
nsString contentType;
|
||||||
|
nsString path;
|
||||||
|
uint64_t length;
|
||||||
|
int64_t modDate;
|
||||||
|
bool isDirectory;
|
||||||
|
|
||||||
|
// This must be of type BlobData in a child->parent message, and will always
|
||||||
|
// be of type void_t in a parent->child message.
|
||||||
|
OptionalBlobData optionalBlobData;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct SlicedBlobConstructorParams
|
||||||
|
{
|
||||||
|
// broken structure: PBlob source;
|
||||||
|
nsID id;
|
||||||
|
uint64_t begin;
|
||||||
|
uint64_t end;
|
||||||
|
nsString contentType;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct MysteryBlobConstructorParams
|
||||||
|
{
|
||||||
|
// Nothing is known about this type of blob.
|
||||||
|
};
|
||||||
|
|
||||||
|
struct KnownBlobConstructorParams
|
||||||
|
{
|
||||||
|
nsID id;
|
||||||
|
};
|
||||||
|
|
||||||
|
// This may only be used for same-process inter-thread communication!
|
||||||
|
struct SameProcessBlobConstructorParams
|
||||||
|
{
|
||||||
|
// This member should be reinterpret_cast'd to mozilla::dom::BlobImpl. It
|
||||||
|
// carries a reference.
|
||||||
|
intptr_t addRefedBlobImpl;
|
||||||
|
};
|
||||||
|
|
||||||
|
union AnyBlobConstructorParams
|
||||||
|
{
|
||||||
|
// These types may be sent to/from parent and child.
|
||||||
|
NormalBlobConstructorParams;
|
||||||
|
FileBlobConstructorParams;
|
||||||
|
SameProcessBlobConstructorParams;
|
||||||
|
|
||||||
|
// This type may only be sent from parent to child.
|
||||||
|
MysteryBlobConstructorParams;
|
||||||
|
|
||||||
|
// These types may only be sent from child to parent.
|
||||||
|
SlicedBlobConstructorParams;
|
||||||
|
KnownBlobConstructorParams;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ChildBlobConstructorParams
|
||||||
|
{
|
||||||
|
nsID id;
|
||||||
|
|
||||||
|
// May not be SlicedBlobConstructorParams or KnownBlobConstructorParams.
|
||||||
|
AnyBlobConstructorParams blobParams;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ParentBlobConstructorParams
|
||||||
|
{
|
||||||
|
// May not be MysteryBlobConstructorParams.
|
||||||
|
AnyBlobConstructorParams blobParams;
|
||||||
|
};
|
||||||
|
|
||||||
|
union BlobConstructorParams
|
||||||
|
{
|
||||||
|
ChildBlobConstructorParams;
|
||||||
|
ParentBlobConstructorParams;
|
||||||
|
};
|
||||||
|
|
||||||
union IPCDataTransferData
|
union IPCDataTransferData
|
||||||
{
|
{
|
||||||
nsString; // text
|
nsString; // text
|
||||||
|
Loading…
Reference in New Issue
Block a user