blob: 0f4688dab67c78d8a332f4b75319304bf69fbb46 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// IPC messages for HTML5 Blob.
// Multiply-included message file, hence no include guard.
#include "content/public/common/common_param_traits.h"
#include "content/public/common/webkit_param_traits.h"
#include "ipc/ipc_message_macros.h"
#define IPC_MESSAGE_START BlobMsgStart
IPC_ENUM_TRAITS(webkit_blob::BlobData::Type)
IPC_STRUCT_TRAITS_BEGIN(webkit_blob::BlobData::Item)
IPC_STRUCT_TRAITS_MEMBER(type)
IPC_STRUCT_TRAITS_MEMBER(data)
IPC_STRUCT_TRAITS_MEMBER(file_path)
IPC_STRUCT_TRAITS_MEMBER(blob_url)
IPC_STRUCT_TRAITS_MEMBER(offset)
IPC_STRUCT_TRAITS_MEMBER(length)
IPC_STRUCT_TRAITS_MEMBER(expected_modification_time)
IPC_STRUCT_TRAITS_END()
// Blob messages sent from the renderer to the browser.
// Registers a blob as being built.
IPC_MESSAGE_CONTROL1(BlobHostMsg_StartBuildingBlob,
GURL /* url */)
// Appends data to a blob being built.
IPC_MESSAGE_CONTROL2(BlobHostMsg_AppendBlobDataItem,
GURL /* url */,
webkit_blob::BlobData::Item)
// Appends data to a blob being built.
IPC_SYNC_MESSAGE_CONTROL3_0(BlobHostMsg_SyncAppendSharedMemory,
GURL /* url */,
base::SharedMemoryHandle,
size_t /* buffer size */)
// Finishes building a blob.
IPC_MESSAGE_CONTROL2(BlobHostMsg_FinishBuildingBlob,
GURL /* url */,
std::string /* content_type */)
// Creates a new blob that's a clone of an existing src blob.
// The source blob must be fully built.
IPC_MESSAGE_CONTROL2(BlobHostMsg_CloneBlob,
GURL /* url */,
GURL /* src_url */)
// Removes a blob.
IPC_MESSAGE_CONTROL1(BlobHostMsg_RemoveBlob,
GURL /* url */)