- add sources.
[platform/framework/web/crosswalk.git] / src / content / common / fileapi / webblob_messages.h
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.
4
5 // IPC messages for HTML5 Blob and Stream.
6 // Multiply-included message file, hence no include guard.
7
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 "webkit/common/blob/blob_data.h"
12
13 #undef IPC_MESSAGE_EXPORT
14 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
15 #define IPC_MESSAGE_START BlobMsgStart
16
17 // Blob messages sent from the renderer to the browser.
18
19 IPC_MESSAGE_CONTROL1(BlobHostMsg_StartBuilding,
20                      std::string /*uuid */)
21 IPC_MESSAGE_CONTROL2(BlobHostMsg_AppendBlobDataItem,
22                      std::string /* uuid */,
23                      webkit_blob::BlobData::Item)
24 IPC_SYNC_MESSAGE_CONTROL3_0(BlobHostMsg_SyncAppendSharedMemory,
25                             std::string /*uuid*/,
26                             base::SharedMemoryHandle,
27                             size_t /* buffer size */)
28 IPC_MESSAGE_CONTROL2(BlobHostMsg_FinishBuilding,
29                      std::string /* uuid */,
30                      std::string /* content_type */)
31
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,
37                      GURL,
38                      std::string /* uuid */)
39 IPC_MESSAGE_CONTROL1(BlobHostMsg_RevokePublicURL,
40                      GURL)
41
42 // Stream messages sent from the renderer to the browser.
43
44 // Registers a stream as being built.
45 IPC_MESSAGE_CONTROL2(StreamHostMsg_StartBuilding,
46                      GURL /* url */,
47                      std::string /* content_type */)
48
49 // Appends data to a stream being built.
50 IPC_MESSAGE_CONTROL2(StreamHostMsg_AppendBlobDataItem,
51                      GURL /* url */,
52                      webkit_blob::BlobData::Item)
53
54 // Appends data to a stream being built.
55 IPC_SYNC_MESSAGE_CONTROL3_0(StreamHostMsg_SyncAppendSharedMemory,
56                             GURL /* url */,
57                             base::SharedMemoryHandle,
58                             size_t /* buffer size */)
59
60 // Finishes building a stream.
61 IPC_MESSAGE_CONTROL1(StreamHostMsg_FinishBuilding,
62                      GURL /* url */)
63
64 // Aborts building a stream.
65 IPC_MESSAGE_CONTROL1(StreamHostMsg_AbortBuilding,
66                      GURL /* url */)
67
68 // Creates a new stream that's a clone of an existing src stream.
69 IPC_MESSAGE_CONTROL2(StreamHostMsg_Clone,
70                      GURL /* url */,
71                      GURL /* src_url */)
72
73 // Removes a stream.
74 IPC_MESSAGE_CONTROL1(StreamHostMsg_Remove,
75                      GURL /* url */)