1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // IPC messages for HTML5 Blob and Stream.
6 // Multiply-included message file, hence no include guard.
8 #include "content/common/content_export.h"
9 #include "content/public/common/common_param_traits.h"
10 #include "ipc/ipc_message_macros.h"
11 #include "storage/common/data_element.h"
13 #undef IPC_MESSAGE_EXPORT
14 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
15 #define IPC_MESSAGE_START BlobMsgStart
17 // Blob messages sent from the renderer to the browser.
19 IPC_MESSAGE_CONTROL1(BlobHostMsg_StartBuilding
,
20 std::string
/*uuid */)
21 IPC_MESSAGE_CONTROL2(BlobHostMsg_AppendBlobDataItem
,
22 std::string
/* uuid */,
24 IPC_SYNC_MESSAGE_CONTROL3_0(BlobHostMsg_SyncAppendSharedMemory
,
26 base::SharedMemoryHandle
,
27 size_t /* buffer size */)
28 IPC_MESSAGE_CONTROL2(BlobHostMsg_FinishBuilding
,
29 std::string
/* uuid */,
30 std::string
/* content_type */)
32 IPC_MESSAGE_CONTROL1(BlobHostMsg_IncrementRefCount
,
33 std::string
/* uuid */)
34 IPC_MESSAGE_CONTROL1(BlobHostMsg_DecrementRefCount
,
35 std::string
/* uuid */)
36 IPC_MESSAGE_CONTROL2(BlobHostMsg_RegisterPublicURL
,
38 std::string
/* uuid */)
39 IPC_MESSAGE_CONTROL1(BlobHostMsg_RevokePublicURL
,
42 // Stream messages sent from the renderer to the browser.
44 // Registers a stream as being built.
45 IPC_MESSAGE_CONTROL2(StreamHostMsg_StartBuilding
,
47 std::string
/* content_type */)
49 // Appends data to a stream being built.
50 IPC_MESSAGE_CONTROL2(StreamHostMsg_AppendBlobDataItem
,
54 // Appends data to a stream being built.
55 IPC_SYNC_MESSAGE_CONTROL3_0(StreamHostMsg_SyncAppendSharedMemory
,
57 base::SharedMemoryHandle
,
58 size_t /* buffer size */)
60 // Flushes contents buffered in the stream.
61 IPC_MESSAGE_CONTROL1(StreamHostMsg_Flush
,
64 // Finishes building a stream.
65 IPC_MESSAGE_CONTROL1(StreamHostMsg_FinishBuilding
,
68 // Aborts building a stream.
69 IPC_MESSAGE_CONTROL1(StreamHostMsg_AbortBuilding
,
72 // Creates a new stream that's a clone of an existing src stream.
73 IPC_MESSAGE_CONTROL2(StreamHostMsg_Clone
,
78 IPC_MESSAGE_CONTROL1(StreamHostMsg_Remove
,