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

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

Issue 2923813002: predictors: Don't call IsUrlPrefetchable twice. (Closed)
Patch Set: . Created 3 years, 6 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.cc
diff --git a/chrome/browser/predictors/resource_prefetch_predictor.cc b/chrome/browser/predictors/resource_prefetch_predictor.cc
index 01375a75003647d630fad917ee84ebd7199fb7f5..08dfc836e112a2ee5b5f58506883c62b916d6cb3 100644
--- a/chrome/browser/predictors/resource_prefetch_predictor.cc
+++ b/chrome/browser/predictors/resource_prefetch_predictor.cc
@@ -584,10 +584,6 @@ void ResourcePrefetchPredictor::OnPrefetchingFinished(
bool ResourcePrefetchPredictor::IsUrlPrefetchable(
const GURL& main_frame_url) const {
- DCHECK_CURRENTLY_ON(BrowserThread::UI);
- if (initialization_state_ != INITIALIZED)
- return false;
-
return GetPrefetchData(main_frame_url, nullptr);
}
@@ -743,6 +739,10 @@ void ResourcePrefetchPredictor::OnNavigationComplete(
bool ResourcePrefetchPredictor::GetPrefetchData(
const GURL& main_frame_url,
ResourcePrefetchPredictor::Prediction* prediction) const {
+ DCHECK_CURRENTLY_ON(BrowserThread::UI);
+ if (initialization_state_ != INITIALIZED)
+ return false;
+
std::vector<GURL>* urls =
prediction ? &prediction->subresource_urls : nullptr;
DCHECK(!urls || urls->empty());
@@ -1397,16 +1397,14 @@ void ResourcePrefetchPredictor::ConnectToHistoryService() {
}
}
-void ResourcePrefetchPredictor::StartPrefetching(const GURL& url) {
+void ResourcePrefetchPredictor::StartPrefetching(
+ const GURL& url,
+ const ResourcePrefetchPredictor::Prediction& prediction) {
TRACE_EVENT1("browser", "ResourcePrefetchPredictor::StartPrefetching", "url",
url.spec());
if (!prefetch_manager_.get()) // Not enabled.
return;
- ResourcePrefetchPredictor::Prediction prediction;
- bool has_data = GetPrefetchData(url, &prediction);
- DCHECK(has_data);
-
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::BindOnce(&ResourcePrefetcherManager::MaybeAddPrefetch,

Powered by Google App Engine
This is Rietveld 408576698