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

Unified Diff: chrome/browser/predictors/resource_prefetch_predictor.h

Issue 2762673002: predictors: Pass manifests from Bork to store in ResourcePrefetchPredictor. (Closed)
Patch Set: Add delegate tests for PrecacheFetcher. Created 3 years, 9 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: chrome/browser/predictors/resource_prefetch_predictor.h
diff --git a/chrome/browser/predictors/resource_prefetch_predictor.h b/chrome/browser/predictors/resource_prefetch_predictor.h
index f38ecf8110e42fa2e041391f8b3fbf5f389310da..cec2207d48f5d4d8e62642162e41a75cbbbdb7e7 100644
--- a/chrome/browser/predictors/resource_prefetch_predictor.h
+++ b/chrome/browser/predictors/resource_prefetch_predictor.h
@@ -26,6 +26,7 @@
#include "components/history/core/browser/history_service_observer.h"
#include "components/history/core/browser/history_types.h"
#include "components/keyed_service/core/keyed_service.h"
+#include "components/precache/content/precache_manager.h"
#include "content/public/common/resource_type.h"
#include "url/gurl.h"
@@ -100,7 +101,8 @@ class ResourcePrefetcherManager;
class ResourcePrefetchPredictor
: public KeyedService,
public history::HistoryServiceObserver,
- public base::SupportsWeakPtr<ResourcePrefetchPredictor> {
+ public base::SupportsWeakPtr<ResourcePrefetchPredictor>,
+ public precache::PrecacheManager::Delegate {
public:
// Stores the data that we need to get from the URLRequest.
struct URLRequestSummary {
@@ -224,6 +226,10 @@ class ResourcePrefetchPredictor
// number of hits.
bool IsResourcePrefetchable(const ResourceData& resource) const;
+ // precache::PrecacheManager::Delegate:
+ void OnManifestFetched(const std::string& host,
+ const precache::PrecacheManifest& manifest) override;
+
// Sets the |observer| to be notified when the resource prefetch predictor
// data changes. Previously registered observer will be discarded. Call
// this with nullptr parameter to de-register observer.
@@ -247,6 +253,10 @@ class ResourcePrefetchPredictor
NavigationUrlNotInDBAndDBFull);
FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest, RedirectUrlNotInDB);
FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest, RedirectUrlInDB);
+ FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest, ManifestHostNotInDB);
+ FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest, ManifestHostInDB);
+ FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest,
+ ManifestHostNotInDBAndDBFull);
FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest, OnMainFrameRequest);
FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest, OnMainFrameRedirect);
FRIEND_TEST_ALL_PREFIXES(ResourcePrefetchPredictorTest,
@@ -360,6 +370,8 @@ class ResourcePrefetchPredictor
void RemoveOldestEntryInRedirectDataMap(PrefetchKeyType key_type,
RedirectDataMap* data_map);
+ void RemoveOldestEntryInManifestDataMap(ManifestDataMap* data_map);
+
// Merges resources in |new_resources| into the |data_map| and correspondingly
// updates the predictor database. Also calls LearnRedirect if relevant.
void LearnNavigation(const std::string& key,
« no previous file with comments | « chrome/browser/precache/precache_manager_factory.cc ('k') | chrome/browser/predictors/resource_prefetch_predictor.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698