Home | History | Annotate | Download | only in fileapi
      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