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

Unified Diff: webkit/media/cache_util.h

Issue 10387200: Suppress pause-and-buffer behavior when the HTTP response won't satisfy future requests via cache. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Bitfield for reasons and fix typo picking out the Date header. Created 8 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: webkit/media/cache_util.h
diff --git a/webkit/media/cache_util.h b/webkit/media/cache_util.h
new file mode 100644
index 0000000000000000000000000000000000000000..2ad406f77cddc94e82d5e9b71c5b065694cc788b
--- /dev/null
+++ b/webkit/media/cache_util.h
@@ -0,0 +1,38 @@
+// Copyright (c) 2012 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.
+
+#ifndef WEBKIT_MEDIA_CACHE_UTIL_H_
+#define WEBKIT_MEDIA_CACHE_UTIL_H_
+
+#include <vector>
+
+namespace WebKit {
+class WebURLResponse;
+}
+
+namespace webkit_media {
+
+// Reasons that a cached WebURLResponse will *not* prevent a future request to
+// the server. Reported via UMA, so don't change/reuse previously-existing
+// values.
+enum UncacheableReason {
+ kNoData = 1 << 0, // Not 200 or 206.
+ kPre11PartialResponse = 1 << 1, // 206 but HTTP version < 1.1.
+ kNoStrongValidatorOnPartialResponse = 1 << 2, // 206, no strong validator.
+ kShortMaxAge = 1 << 3, // Max age less than 1h (arbitrary value).
+ kExpiresTooSoon = 1 << 4, // Expires in less than 1h (arbitrary value).
+ kHasMustRevalidate = 1 << 5, // Response asks for revalidation.
+ kNoCache = 1 << 6, // Response included a no-cache header.
+ kNoStore = 1 << 7, // Response included a no-store header.
+ kMaxReason // Needs to be one more than max legitimate reason.
+};
+
+// Return the reasons "response" cannot be used for a future request (using the
+// disk cache), or an empty vector if it might be useful.
+std::vector<UncacheableReason> GetReasonsForUncacheability(
+ const WebKit::WebURLResponse& response);
+
+} // namespace webkit_media
+
+#endif // WEBKIT_MEDIA_CACHE_UTIL_H_

Powered by Google App Engine
This is Rietveld 408576698