Index: mojo/services/url_response_disk_cache/public/interfaces/url_response_disk_cache.mojom |
diff --git a/mojo/services/url_response_disk_cache/public/interfaces/url_response_disk_cache.mojom b/mojo/services/url_response_disk_cache/public/interfaces/url_response_disk_cache.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..889101bf96e070b86e2e45ae08cf32d4b763e280 |
--- /dev/null |
+++ b/mojo/services/url_response_disk_cache/public/interfaces/url_response_disk_cache.mojom |
@@ -0,0 +1,35 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+module mojo.url_response_disk_cache; |
+ |
+import "mojo/services/network/public/interfaces/url_loader.mojom"; |
+ |
+// This service allows client to efficiently cache and retrieve url response |
+// content on disk. In particular, it allows the shell and content handlers to |
+// efficiently cache and retrieve mojo applications. |
+// TODO(qsr): At the moment, the url response disk cache only handles ETag. If |
+// either the cached version of the given response do not contain |
blundell
2015/05/07 13:57:59
nit: s/of/or
qsr
2015/05/07 14:18:07
Done.
|
+// ETags, the entry will be invalidated. It should be extended to |
+// handle all the other http cache mechanisms for better performance |
+// with http servers that do not support ETags. |
+interface URLResponseDiskCache { |
+ |
+ // Given a URLResponse, returns a pair of paths. |file_path| is a file |
+ // containing the body of the response. |cache_dir_path| is a directory that |
+ // the applicaton can use to store content. This service guarantee that |
+ // |cache_dir_path| will be emptied when |file_path| content changes. For |
+ // example, a content handler that is backed by a VM that compiles files |
+ // could have the VM use this directory to cache the compiled files. |
+ GetFile(mojo.URLResponse response) => |
+ (array<uint8>? file_path, array<uint8>? cache_dir_path); |
+ |
+ // Given a URLResponse that is expected to have a zipped body, returns a |
+ // pair of paths. |extracted_dir_path| is a directory containing the unzipped |
+ // body of the response. |cache_dir_path| is a directory that the applicaton |
+ // can use to store content. This service guarantee that |cache_dir_path| |
+ // will be emptied when |extracted_dir_path| content changes. |
+ GetExtractedContent(mojo.URLResponse response) => |
+ (array<uint8>? extracted_dir_path, array<uint8>? cache_dir_path); |
+}; |