зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 1b6c07b71ba4 (bug 1359718)
This commit is contained in:
Родитель
8164551943
Коммит
11edd0b86c
|
@ -44,6 +44,116 @@ struct ClonedMessageData
|
|||
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
|
||||
{
|
||||
nsString; // text
|
||||
|
|
Загрузка…
Ссылка в новой задаче