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 19IPC_MESSAGE_CONTROL1(BlobHostMsg_StartBuilding, 20 std::string /*uuid */) 21IPC_MESSAGE_CONTROL2(BlobHostMsg_AppendBlobDataItem, 22 std::string /* uuid */, 23 webkit_blob::BlobData::Item) 24IPC_SYNC_MESSAGE_CONTROL3_0(BlobHostMsg_SyncAppendSharedMemory, 25 std::string /*uuid*/, 26 base::SharedMemoryHandle, 27 size_t /* buffer size */) 28IPC_MESSAGE_CONTROL2(BlobHostMsg_FinishBuilding, 29 std::string /* uuid */, 30 std::string /* content_type */) 31 32IPC_MESSAGE_CONTROL1(BlobHostMsg_IncrementRefCount, 33 std::string /* uuid */) 34IPC_MESSAGE_CONTROL1(BlobHostMsg_DecrementRefCount, 35 std::string /* uuid */) 36IPC_MESSAGE_CONTROL2(BlobHostMsg_RegisterPublicURL, 37 GURL, 38 std::string /* uuid */) 39IPC_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. 45IPC_MESSAGE_CONTROL2(StreamHostMsg_StartBuilding, 46 GURL /* url */, 47 std::string /* content_type */) 48 49// Appends data to a stream being built. 50IPC_MESSAGE_CONTROL2(StreamHostMsg_AppendBlobDataItem, 51 GURL /* url */, 52 webkit_blob::BlobData::Item) 53 54// Appends data to a stream being built. 55IPC_SYNC_MESSAGE_CONTROL3_0(StreamHostMsg_SyncAppendSharedMemory, 56 GURL /* url */, 57 base::SharedMemoryHandle, 58 size_t /* buffer size */) 59 60// Finishes building a stream. 61IPC_MESSAGE_CONTROL1(StreamHostMsg_FinishBuilding, 62 GURL /* url */) 63 64// Aborts building a stream. 65IPC_MESSAGE_CONTROL1(StreamHostMsg_AbortBuilding, 66 GURL /* url */) 67 68// Creates a new stream that's a clone of an existing src stream. 69IPC_MESSAGE_CONTROL2(StreamHostMsg_Clone, 70 GURL /* url */, 71 GURL /* src_url */) 72 73// Removes a stream. 74IPC_MESSAGE_CONTROL1(StreamHostMsg_Remove, 75 GURL /* url */) 76