• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */)
76