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