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

Unified Diff: chrome/browser/predictors/resource_prefetcher_manager.cc

Issue 2365613002: predictors: Refactor the prefetcher in resource_prefetch_predictor. (Closed)
Patch Set: . Created 4 years, 3 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_prefetcher_manager.cc
diff --git a/chrome/browser/predictors/resource_prefetcher_manager.cc b/chrome/browser/predictors/resource_prefetcher_manager.cc
index 69c8bfc165ff0784f46decd17e3b466021cc451e..601b608c1494bb995a2a2efd04e4868265b34383 100644
--- a/chrome/browser/predictors/resource_prefetcher_manager.cc
+++ b/chrome/browser/predictors/resource_prefetcher_manager.cc
@@ -53,7 +53,7 @@ void ResourcePrefetcherManager::ShutdownOnIOThread() {
void ResourcePrefetcherManager::MaybeAddPrefetch(
const NavigationID& navigation_id,
PrefetchKeyType key_type,
- std::unique_ptr<ResourcePrefetcher::RequestVector> requests) {
+ const std::vector<GURL>& urls) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
// Don't add a duplicate prefetch for the same host or URL.
@@ -62,8 +62,8 @@ void ResourcePrefetcherManager::MaybeAddPrefetch(
if (base::ContainsKey(prefetcher_map_, key))
return;
- ResourcePrefetcher* prefetcher = new ResourcePrefetcher(
- this, config_, navigation_id, key_type, std::move(requests));
+ ResourcePrefetcher* prefetcher =
+ new ResourcePrefetcher(this, config_, navigation_id, key_type, urls);
prefetcher_map_.insert(std::make_pair(key, prefetcher));
prefetcher->Start();
}
@@ -90,19 +90,9 @@ void ResourcePrefetcherManager::MaybeRemovePrefetch(
}
void ResourcePrefetcherManager::ResourcePrefetcherFinished(
- ResourcePrefetcher* resource_prefetcher,
- ResourcePrefetcher::RequestVector* requests) {
+ ResourcePrefetcher* resource_prefetcher) {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);
- // |predictor_| can only be accessed from the UI thread.
- std::unique_ptr<ResourcePrefetcher::RequestVector> scoped_requests(requests);
- BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
- base::Bind(&ResourcePrefetcherManager::ResourcePrefetcherFinishedOnUI,
- this,
- resource_prefetcher->navigation_id(),
- resource_prefetcher->key_type(),
- base::Passed(&scoped_requests)));
-
const GURL& main_frame_url =
resource_prefetcher->navigation_id().main_frame_url;
const std::string key =
@@ -114,20 +104,6 @@ void ResourcePrefetcherManager::ResourcePrefetcherFinished(
prefetcher_map_.erase(it);
}
-void ResourcePrefetcherManager::ResourcePrefetcherFinishedOnUI(
- const NavigationID& navigation_id,
- PrefetchKeyType key_type,
- std::unique_ptr<ResourcePrefetcher::RequestVector> requests) {
- DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
-
- // |predictor_| may have been set to NULL if the predictor is shutting down.
- if (predictor_) {
- predictor_->FinishedPrefetchForNavigation(navigation_id,
- key_type,
- requests.release());
- }
-}
-
net::URLRequestContext* ResourcePrefetcherManager::GetURLRequestContext() {
DCHECK_CURRENTLY_ON(content::BrowserThread::IO);

Powered by Google App Engine
This is Rietveld 408576698