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

Unified Diff: chrome/browser/net/loading_predictor_observer.cc

Issue 2887133003: predictors: Refactor resource_prefetch_predictor triggering. (Closed)
Patch Set: . Created 3 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: chrome/browser/net/loading_predictor_observer.cc
diff --git a/chrome/browser/net/resource_prefetch_predictor_observer.cc b/chrome/browser/net/loading_predictor_observer.cc
similarity index 78%
rename from chrome/browser/net/resource_prefetch_predictor_observer.cc
rename to chrome/browser/net/loading_predictor_observer.cc
index 4dc2b0bce2d2e7ad49ddf05f7d512f595eb6708d..ca2c2a39d181626ab13cbca3c3821e571d810ac5 100644
--- a/chrome/browser/net/resource_prefetch_predictor_observer.cc
+++ b/chrome/browser/net/loading_predictor_observer.cc
@@ -1,8 +1,8 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
+// Copyright 2017 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.
-#include "chrome/browser/net/resource_prefetch_predictor_observer.h"
+#include "chrome/browser/net/loading_predictor_observer.h"
#include <memory>
#include <string>
@@ -20,6 +20,7 @@ class WebContents;
}
using content::BrowserThread;
+using predictors::LoadingPredictor;
using predictors::ResourcePrefetchPredictor;
using URLRequestSummary =
predictors::ResourcePrefetchPredictor::URLRequestSummary;
@@ -48,15 +49,13 @@ enum MainFrameRequestStats {
};
void ReportRequestStats(RequestStats stat) {
- UMA_HISTOGRAM_ENUMERATION("ResourcePrefetchPredictor.RequestStats",
- stat,
+ UMA_HISTOGRAM_ENUMERATION("ResourcePrefetchPredictor.RequestStats", stat,
REQUEST_STATS_MAX);
}
void ReportMainFrameRequestStats(MainFrameRequestStats stat) {
UMA_HISTOGRAM_ENUMERATION("ResourcePrefetchPredictor.MainFrameRequestStats",
- stat,
- MAIN_FRAME_REQUEST_STATS_MAX);
+ stat, MAIN_FRAME_REQUEST_STATS_MAX);
}
bool TryToFillNavigationID(
@@ -79,18 +78,17 @@ bool TryToFillNavigationID(
namespace chrome_browser_net {
-ResourcePrefetchPredictorObserver::ResourcePrefetchPredictorObserver(
- ResourcePrefetchPredictor* predictor)
+LoadingPredictorObserver::LoadingPredictorObserver(LoadingPredictor* predictor)
: predictor_(predictor->AsWeakPtr()) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
}
-ResourcePrefetchPredictorObserver::~ResourcePrefetchPredictorObserver() {
+LoadingPredictorObserver::~LoadingPredictorObserver() {
CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI) ||
BrowserThread::CurrentlyOn(BrowserThread::IO));
}
-void ResourcePrefetchPredictorObserver::OnRequestStarted(
+void LoadingPredictorObserver::OnRequestStarted(
net::URLRequest* request,
content::ResourceType resource_type,
const content::ResourceRequestInfo::WebContentsGetter&
@@ -109,17 +107,16 @@ void ResourcePrefetchPredictorObserver::OnRequestStarted(
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::BindOnce(
- &ResourcePrefetchPredictorObserver::OnRequestStartedOnUIThread,
- base::Unretained(this), base::Passed(std::move(summary)),
- web_contents_getter, request->first_party_for_cookies(),
- request->creation_time()));
+ base::BindOnce(&LoadingPredictorObserver::OnRequestStartedOnUIThread,
+ base::Unretained(this), base::Passed(std::move(summary)),
+ web_contents_getter, request->first_party_for_cookies(),
+ request->creation_time()));
if (resource_type == content::RESOURCE_TYPE_MAIN_FRAME)
ReportMainFrameRequestStats(MAIN_FRAME_REQUEST_STATS_PROCESSED_REQUESTS);
}
-void ResourcePrefetchPredictorObserver::OnRequestRedirected(
+void LoadingPredictorObserver::OnRequestRedirected(
net::URLRequest* request,
const GURL& redirect_url,
const content::ResourceRequestInfo::WebContentsGetter&
@@ -145,11 +142,10 @@ void ResourcePrefetchPredictorObserver::OnRequestRedirected(
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::BindOnce(
- &ResourcePrefetchPredictorObserver::OnRequestRedirectedOnUIThread,
- base::Unretained(this), base::Passed(std::move(summary)),
- web_contents_getter, request->first_party_for_cookies(),
- request->creation_time()));
+ base::BindOnce(&LoadingPredictorObserver::OnRequestRedirectedOnUIThread,
+ base::Unretained(this), base::Passed(std::move(summary)),
+ web_contents_getter, request->first_party_for_cookies(),
+ request->creation_time()));
if (request_info &&
request_info->GetResourceType() == content::RESOURCE_TYPE_MAIN_FRAME) {
@@ -157,7 +153,7 @@ void ResourcePrefetchPredictorObserver::OnRequestRedirected(
}
}
-void ResourcePrefetchPredictorObserver::OnResponseStarted(
+void LoadingPredictorObserver::OnResponseStarted(
net::URLRequest* request,
const content::ResourceRequestInfo::WebContentsGetter&
web_contents_getter) {
@@ -182,11 +178,10 @@ void ResourcePrefetchPredictorObserver::OnResponseStarted(
BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE,
- base::BindOnce(
- &ResourcePrefetchPredictorObserver::OnResponseStartedOnUIThread,
- base::Unretained(this), base::Passed(std::move(summary)),
- web_contents_getter, request->first_party_for_cookies(),
- request->creation_time()));
+ base::BindOnce(&LoadingPredictorObserver::OnResponseStartedOnUIThread,
+ base::Unretained(this), base::Passed(std::move(summary)),
+ web_contents_getter, request->first_party_for_cookies(),
+ request->creation_time()));
ReportRequestStats(REQUEST_STATS_TOTAL_PROCESSED_RESPONSES);
if (request_info &&
@@ -195,7 +190,7 @@ void ResourcePrefetchPredictorObserver::OnResponseStarted(
}
}
-void ResourcePrefetchPredictorObserver::OnRequestStartedOnUIThread(
+void LoadingPredictorObserver::OnRequestStartedOnUIThread(
std::unique_ptr<URLRequestSummary> summary,
const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
const GURL& main_frame_url,
@@ -205,10 +200,11 @@ void ResourcePrefetchPredictorObserver::OnRequestStartedOnUIThread(
main_frame_url, creation_time)) {
return;
}
- predictor_->RecordURLRequest(*summary);
+ predictor_->OnMainFrameRequest(*summary);
alexilin 2017/05/30 16:19:14 Requests are recorded only for main frames but pro
Benoit L 2017/05/31 14:34:41 Done.
+ predictor_->resource_prefetch_predictor()->RecordURLRequest(*summary);
}
-void ResourcePrefetchPredictorObserver::OnRequestRedirectedOnUIThread(
+void LoadingPredictorObserver::OnRequestRedirectedOnUIThread(
std::unique_ptr<URLRequestSummary> summary,
const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
const GURL& main_frame_url,
@@ -218,10 +214,11 @@ void ResourcePrefetchPredictorObserver::OnRequestRedirectedOnUIThread(
main_frame_url, creation_time)) {
return;
}
- predictor_->RecordURLRedirect(*summary);
+ predictor_->OnMainFrameRedirect(*summary);
alexilin 2017/05/30 16:19:14 ditto
Benoit L 2017/05/31 14:34:41 Done.
+ predictor_->resource_prefetch_predictor()->RecordURLRedirect(*summary);
}
-void ResourcePrefetchPredictorObserver::OnResponseStartedOnUIThread(
+void LoadingPredictorObserver::OnResponseStartedOnUIThread(
std::unique_ptr<URLRequestSummary> summary,
const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
const GURL& main_frame_url,
@@ -231,7 +228,8 @@ void ResourcePrefetchPredictorObserver::OnResponseStartedOnUIThread(
main_frame_url, creation_time)) {
return;
}
- predictor_->RecordURLResponse(*summary);
+ predictor_->OnMainFrameResponse(*summary);
alexilin 2017/05/30 16:19:14 We need to check that a response actually come fro
Benoit L 2017/05/31 14:34:41 Done.
+ predictor_->resource_prefetch_predictor()->RecordURLResponse(*summary);
}
} // namespace chrome_browser_net

Powered by Google App Engine
This is Rietveld 408576698