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

Unified Diff: components/data_use_measurement/core/data_use_measurement.cc

Issue 2462983003: Move data use measurement to DataUseNetworkDelegate (Closed)
Patch Set: Move DataUseMeasurement to core Created 4 years, 1 month 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: components/data_use_measurement/core/data_use_measurement.cc
diff --git a/components/data_use_measurement/content/data_use_measurement.cc b/components/data_use_measurement/core/data_use_measurement.cc
similarity index 92%
rename from components/data_use_measurement/content/data_use_measurement.cc
rename to components/data_use_measurement/core/data_use_measurement.cc
index faae956e62d3b8805b02e4d6f86489870e03c628..f3e00d9c2e1f9856689074898db37a317c9344ca 100644
--- a/components/data_use_measurement/content/data_use_measurement.cc
+++ b/components/data_use_measurement/core/data_use_measurement.cc
@@ -2,14 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "components/data_use_measurement/content/data_use_measurement.h"
+#include "components/data_use_measurement/core/data_use_measurement.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/sparse_histogram.h"
#include "base/strings/stringprintf.h"
#include "build/build_config.h"
#include "components/data_use_measurement/core/data_use_user_data.h"
-#include "content/public/browser/resource_request_info.h"
#include "net/base/network_change_notifier.h"
#include "net/base/upload_data_stream.h"
#include "net/http/http_response_headers.h"
@@ -64,8 +63,11 @@ void IncrementLatencyHistogramByCount(const std::string& name,
} // namespace
DataUseMeasurement::DataUseMeasurement(
+ const IsUserInitiatedRequestCallbackType&
+ is_user_initiated_request_callback,
const metrics::UpdateUsagePrefCallbackType& metrics_data_use_forwarder)
- : metrics_data_use_forwarder_(metrics_data_use_forwarder)
+ : is_user_initiated_request_callback_(is_user_initiated_request_callback),
+ metrics_data_use_forwarder_(metrics_data_use_forwarder)
#if defined(OS_ANDROID)
,
app_state_(base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES),
@@ -130,7 +132,7 @@ void DataUseMeasurement::OnCompleted(const net::URLRequest& request,
void DataUseMeasurement::ReportDataUseUMA(const net::URLRequest& request,
TrafficDirection dir,
int64_t bytes) {
- bool is_user_traffic = IsUserInitiatedRequest(request);
+ bool is_user_traffic = is_user_initiated_request_callback_.Run(request);
bool is_connection_cellular =
net::NetworkChangeNotifier::IsConnectionCellular(
net::NetworkChangeNotifier::GetConnectionType());
@@ -203,20 +205,6 @@ void DataUseMeasurement::UpdateDataUsePrefs(
}
}
-// static
-bool DataUseMeasurement::IsUserInitiatedRequest(
- const net::URLRequest& request) {
- // Having ResourceRequestInfo in the URL request is a sign that the request is
- // for a web content from user. For now we could add a condition to check
- // ProcessType in info is content::PROCESS_TYPE_RENDERER, but it won't be
- // compatible with upcoming PlzNavigate architecture. So just existence of
- // ResourceRequestInfo is verified, and the current check should be compatible
- // with upcoming changes in PlzNavigate.
- // TODO(rajendrant): Verify this condition for different use cases. See
- // crbug.com/626063.
- return content::ResourceRequestInfo::ForRequest(&request) != nullptr;
-}
-
#if defined(OS_ANDROID)
void DataUseMeasurement::OnApplicationStateChangeForTesting(
base::android::ApplicationState application_state) {

Powered by Google App Engine
This is Rietveld 408576698