Index: content/browser/loader/async_revalidation_manager.h |
diff --git a/content/browser/loader/async_revalidation_manager.h b/content/browser/loader/async_revalidation_manager.h |
deleted file mode 100644 |
index facdb2d1452af6bcffdc073348fdafaf19418b65..0000000000000000000000000000000000000000 |
--- a/content/browser/loader/async_revalidation_manager.h |
+++ /dev/null |
@@ -1,107 +0,0 @@ |
-// 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. |
- |
-#ifndef CONTENT_BROWSER_LOADER_ASYNC_REVALIDATION_MANAGER_H_ |
-#define CONTENT_BROWSER_LOADER_ASYNC_REVALIDATION_MANAGER_H_ |
- |
-#include <map> |
-#include <memory> |
-#include <string> |
- |
-#include "base/macros.h" |
- |
-class GURL; |
- |
-namespace net { |
-class URLRequest; |
-class HttpCache; |
-} |
- |
-namespace content { |
- |
-class AsyncRevalidationDriver; |
-class ResourceContext; |
-class ResourceScheduler; |
-struct ResourceRequest; |
- |
-// One instance of this class manages all active AsyncRevalidationDriver objects |
-// for all profiles. It is created by and owned by |
-// ResourceDispatcherHostImpl. It also implements the creation of a new |
-// net::URLRequest and AsyncRevalidationDriver from an existing net::URLRequest |
-// that has had the stale-while-revalidate algorithm applied to it. |
-class AsyncRevalidationManager { |
- public: |
- AsyncRevalidationManager(); |
- ~AsyncRevalidationManager(); |
- |
- // Starts an async revalidation by copying |for_request|. |scheduler| must |
- // remain valid until this object is destroyed. |
- void BeginAsyncRevalidation(net::URLRequest* for_request, |
- ResourceScheduler* scheduler); |
- |
- // Cancel all pending async revalidations that use ResourceContext. |
- void CancelAsyncRevalidationsForResourceContext( |
- ResourceContext* resource_context); |
- |
- static bool QualifiesForAsyncRevalidation(const ResourceRequest& request); |
- |
- private: |
- // The key of the map of pending async revalidations. This key has a distinct |
- // value for every in-progress async revalidation. It is used to avoid |
- // duplicate async revalidations, and also to cancel affected async |
- // revalidations when a ResourceContext is removed. |
- // |
- // Request headers are intentionally not included in the key for simplicity, |
- // as they usually don't affect caching. |
- // |
- // TODO(ricea): Behave correctly in cases where the request headers do make a |
- // difference. crbug.com/567721 |
- struct AsyncRevalidationKey { |
- AsyncRevalidationKey(const ResourceContext* resource_context, |
- const net::HttpCache* http_cache, |
- const GURL& url); |
- |
- // Create a prefix key that is used to match all of the |
- // AsyncRevalidationDrivers using |resource_context| in the map. |
- explicit AsyncRevalidationKey(const ResourceContext* resource_context); |
- |
- // The key for a map needs to be copyable. |
- AsyncRevalidationKey(const AsyncRevalidationKey& rhs) = default; |
- ~AsyncRevalidationKey(); |
- |
- // No operator= is generated because the struct members are immutable. |
- |
- // |resource_context| and |http_cache| are never dereferenced; they are only |
- // compared to other values. |
- const ResourceContext* const resource_context; |
- |
- // There are multiple independent HttpCache objects per ResourceContext. |
- const net::HttpCache* const http_cache; |
- |
- // Derived from the url via net::HttpUtil::SpecForRequest(). |
- const std::string url_key; |
- |
- struct LessThan { |
- bool operator()(const AsyncRevalidationKey& lhs, |
- const AsyncRevalidationKey& rhs) const; |
- }; |
- }; |
- |
- using AsyncRevalidationMap = |
- std::map<AsyncRevalidationKey, |
- std::unique_ptr<AsyncRevalidationDriver>, |
- AsyncRevalidationKey::LessThan>; |
- |
- void OnAsyncRevalidationComplete(AsyncRevalidationMap::iterator it); |
- |
- // Map of AsyncRevalidationDriver instances that are currently in-flight: |
- // either waiting to be scheduled or active on the network. |
- AsyncRevalidationMap in_progress_; |
- |
- DISALLOW_COPY_AND_ASSIGN(AsyncRevalidationManager); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_BROWSER_LOADER_ASYNC_REVALIDATION_MANAGER_H_ |