Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(326)

Unified Diff: mojo/services/url_response_disk_cache/public/interfaces/url_response_disk_cache.mojom

Issue 1088533003: Adding URLResponse Disk Cache to mojo. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Follow review Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+};

Powered by Google App Engine
This is Rietveld 408576698