OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 module blimp.engine.mojom; | 5 module blimp.engine.mojom; |
6 | 6 |
7 // Exposes BlobChannel data producer methods to the renderer processes. | 7 // Exposes BlobChannel data producer methods to the renderer processes. |
8 // The renderer can use this service to push bulk data such as images to | 8 // The renderer can use this service to push bulk data such as images to |
9 // the client. | 9 // the client. |
10 interface BlobChannel { | 10 interface BlobChannel { |
| 11 // Gets the list of cached BlobIDs and their replication status in the |
| 12 // browser process' BlobCache. The replication status is represented |
| 13 // as a boolean which, when true, indicates that the blob has been |
| 14 // sent to the client. |
| 15 // TODO(kmarshall): Add a delegate receiver to process cache invalidation |
| 16 // events from the browser as they occur. |
| 17 GetCachedBlobIds() => (map<string, bool> cache_state); |
| 18 |
11 // Stores the blob |id| in the BlobCache. | 19 // Stores the blob |id| in the BlobCache. |
12 // Because the IPC channel is a shared resource and payloads can be quite | 20 // Because the IPC channel is a shared resource and payloads can be quite |
13 // large, we use shared memory to reduce channel contention and associated | 21 // large, we use shared memory to reduce channel contention and associated |
14 // latency with other components/features. | 22 // latency with other components/features. |
15 // | 23 // |
16 // The buffer is released when the callee discards the handle for |data|. | 24 // The buffer is released when the callee discards the handle for |data|. |
17 PutBlob(string id, handle<shared_buffer> data, uint32 size); | 25 PutBlob(string id, handle<shared_buffer> data, uint32 size); |
18 | 26 |
19 // Requests that the BlobChannel push the blob |id| over the wire. | 27 // Requests that the BlobChannel push the blob |id| over the wire. |
20 // The request will be ignored if the BlobChannel knows that | 28 // The request will be ignored if the BlobChannel knows that |
21 // the client already has the data. | 29 // the client already has the data. |
22 DeliverBlob(string id); | 30 DeliverBlob(string id); |
23 }; | 31 }; |
24 | 32 |
OLD | NEW |