diff -r 000000000000 -r 6474c204b198 dom/ipc/DOMTypes.ipdlh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/ipc/DOMTypes.ipdlh Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,69 @@ +/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */ +/* vim: set sw=4 ts=8 et tw=80 ft=cpp : */ +/* 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 PBlob; +include InputStreamParams; + +using struct mozilla::SerializedStructuredCloneBuffer from "ipc/IPCMessageUtils.h"; + +namespace mozilla { +namespace dom { + +struct ClonedMessageData +{ + SerializedStructuredCloneBuffer data; + PBlob[] blobs; +}; + +struct NormalBlobConstructorParams +{ + nsString contentType; + uint64_t length; +}; + +struct FileBlobConstructorParams +{ + nsString name; + nsString contentType; + uint64_t length; + uint64_t modDate; +}; + +struct SlicedBlobConstructorParams +{ + PBlob source; + uint64_t begin; + uint64_t end; + nsString contentType; +}; + +struct MysteryBlobConstructorParams +{ + // Nothing is known about this type of blob. +}; + +union ChildBlobConstructorParams +{ + NormalBlobConstructorParams; + FileBlobConstructorParams; + SlicedBlobConstructorParams; + MysteryBlobConstructorParams; +}; + +struct ParentBlobConstructorParams +{ + ChildBlobConstructorParams blobParams; + OptionalInputStreamParams optionalInputStreamParams; +}; + +union BlobConstructorParams +{ + ChildBlobConstructorParams; + ParentBlobConstructorParams; +}; + +} // namespace dom +} // namespace mozilla