| 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 |