OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 module blimp.engine.mojom; | |
6 | |
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 | |
9 // the client. | |
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 | |
19 // Stores the blob |id| in the BlobCache. | |
20 // Because the IPC channel is a shared resource and payloads can be quite | |
21 // large, we use shared memory to reduce channel contention and associated | |
22 // latency with other components/features. | |
23 // | |
24 // The buffer is released when the callee discards the handle for |data|. | |
25 PutBlob(string id, handle<shared_buffer> data, uint32 size); | |
26 | |
27 // Requests that the BlobChannel push the blob |id| over the wire. | |
28 // The request will be ignored if the BlobChannel knows that | |
29 // the client already has the data. | |
30 DeliverBlob(string id); | |
31 }; | |
32 | |
OLD | NEW |