| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // IPC messages for HTML5 Blob and Stream. | 5 // IPC messages for HTML5 Blob and Stream. |
| 6 // Multiply-included message file, hence no include guard. | 6 // Multiply-included message file, hence no include guard. |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <set> | 10 #include <set> |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 IPC_STRUCT_TRAITS_MEMBER(time_file_modified) | 47 IPC_STRUCT_TRAITS_MEMBER(time_file_modified) |
| 48 IPC_STRUCT_TRAITS_END() | 48 IPC_STRUCT_TRAITS_END() |
| 49 | 49 |
| 50 // This message is to tell the browser that we will be building a blob. The | 50 // This message is to tell the browser that we will be building a blob. The |
| 51 // DataElements are used to: | 51 // DataElements are used to: |
| 52 // * describe & transport non-memory resources (blobs, files, etc) | 52 // * describe & transport non-memory resources (blobs, files, etc) |
| 53 // * describe the size of memory items | 53 // * describe the size of memory items |
| 54 // * 'shortcut' transport the memory up to the IPC limit so the browser can use | 54 // * 'shortcut' transport the memory up to the IPC limit so the browser can use |
| 55 // it if it's not currently full. | 55 // it if it's not currently full. |
| 56 // See https://bit.ly/BlobStorageRefactor | 56 // See https://bit.ly/BlobStorageRefactor |
| 57 IPC_MESSAGE_CONTROL4(BlobStorageMsg_RegisterBlob, | 57 // |
| 58 std::string /* uuid */, | 58 // NOTE: This message is synchronous to ensure that the browser is aware of the |
| 59 std::string /* content_type */, | 59 // UUID before the UUID is passed to another process. This protects against a |
| 60 std::string /* content_disposition */, | 60 // race condition in which the browser could be asked about a UUID that doesn't |
| 61 std::vector<storage::DataElement> /* item_descriptions */) | 61 // yet exist from its perspective. See also https://goo.gl/bfdE64. |
| 62 // |
| 63 IPC_SYNC_MESSAGE_CONTROL4_0( |
| 64 BlobStorageMsg_RegisterBlob, |
| 65 std::string /* uuid */, |
| 66 std::string /* content_type */, |
| 67 std::string /* content_disposition */, |
| 68 std::vector<storage::DataElement> /* item_descriptions */) |
| 62 | 69 |
| 63 IPC_MESSAGE_CONTROL4( | 70 IPC_MESSAGE_CONTROL4( |
| 64 BlobStorageMsg_RequestMemoryItem, | 71 BlobStorageMsg_RequestMemoryItem, |
| 65 std::string /* uuid */, | 72 std::string /* uuid */, |
| 66 std::vector<storage::BlobItemBytesRequest> /* requests */, | 73 std::vector<storage::BlobItemBytesRequest> /* requests */, |
| 67 std::vector<base::SharedMemoryHandle> /* memory_handles */, | 74 std::vector<base::SharedMemoryHandle> /* memory_handles */, |
| 68 std::vector<IPC::PlatformFileForTransit> /* file_handles */) | 75 std::vector<IPC::PlatformFileForTransit> /* file_handles */) |
| 69 | 76 |
| 70 IPC_MESSAGE_CONTROL2( | 77 IPC_MESSAGE_CONTROL2( |
| 71 BlobStorageMsg_MemoryItemResponse, | 78 BlobStorageMsg_MemoryItemResponse, |
| 72 std::string /* uuid */, | 79 std::string /* uuid */, |
| 73 std::vector<storage::BlobItemBytesResponse> /* responses */) | 80 std::vector<storage::BlobItemBytesResponse> /* responses */) |
| 74 | 81 |
| 75 IPC_MESSAGE_CONTROL2(BlobStorageMsg_SendBlobStatus, | 82 IPC_MESSAGE_CONTROL2(BlobStorageMsg_SendBlobStatus, |
| 76 std::string /* uuid */, | 83 std::string /* uuid */, |
| 77 storage::BlobStatus /* code */) | 84 storage::BlobStatus /* code */) |
| 78 | 85 |
| 79 IPC_MESSAGE_CONTROL1(BlobHostMsg_IncrementRefCount, | 86 IPC_MESSAGE_CONTROL1(BlobHostMsg_IncrementRefCount, |
| 80 std::string /* uuid */) | 87 std::string /* uuid */) |
| 81 IPC_MESSAGE_CONTROL1(BlobHostMsg_DecrementRefCount, | 88 IPC_MESSAGE_CONTROL1(BlobHostMsg_DecrementRefCount, |
| 82 std::string /* uuid */) | 89 std::string /* uuid */) |
| 83 IPC_MESSAGE_CONTROL2(BlobHostMsg_RegisterPublicURL, | 90 // NOTE: This message is synchronous to ensure that the browser is aware of the |
| 84 GURL, | 91 // UUID before the UUID is passed to another process. This protects against a |
| 85 std::string /* uuid */) | 92 // race condition in which the browser could be asked about a UUID that doesn't |
| 93 // yet exist from its perspective. See also https://goo.gl/bfdE64. |
| 94 IPC_SYNC_MESSAGE_CONTROL2_0(BlobHostMsg_RegisterPublicURL, |
| 95 GURL, |
| 96 std::string /* uuid */) |
| 86 IPC_MESSAGE_CONTROL1(BlobHostMsg_RevokePublicURL, | 97 IPC_MESSAGE_CONTROL1(BlobHostMsg_RevokePublicURL, |
| 87 GURL) | 98 GURL) |
| 88 | 99 |
| 89 // Stream messages sent from the renderer to the browser. | 100 // Stream messages sent from the renderer to the browser. |
| 90 | 101 |
| 91 // Registers a stream as being built. | 102 // Registers a stream as being built. |
| 92 IPC_MESSAGE_CONTROL2(StreamHostMsg_StartBuilding, | 103 IPC_MESSAGE_CONTROL2(StreamHostMsg_StartBuilding, |
| 93 GURL /* url */, | 104 GURL /* url */, |
| 94 std::string /* content_type */) | 105 std::string /* content_type */) |
| 95 | 106 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 117 GURL /* url */) | 128 GURL /* url */) |
| 118 | 129 |
| 119 // Creates a new stream that's a clone of an existing src stream. | 130 // Creates a new stream that's a clone of an existing src stream. |
| 120 IPC_MESSAGE_CONTROL2(StreamHostMsg_Clone, | 131 IPC_MESSAGE_CONTROL2(StreamHostMsg_Clone, |
| 121 GURL /* url */, | 132 GURL /* url */, |
| 122 GURL /* src_url */) | 133 GURL /* src_url */) |
| 123 | 134 |
| 124 // Removes a stream. | 135 // Removes a stream. |
| 125 IPC_MESSAGE_CONTROL1(StreamHostMsg_Remove, | 136 IPC_MESSAGE_CONTROL1(StreamHostMsg_Remove, |
| 126 GURL /* url */) | 137 GURL /* url */) |
| OLD | NEW |