Index: components/metrics/net/network_metrics_provider.cc |
diff --git a/components/metrics/net/network_metrics_provider.cc b/components/metrics/net/network_metrics_provider.cc |
index e845cde5bd511a69bccd4ec4a3f6c5e956bebe17..4ec657435a60e2d5b4e3516cce826d2d42d39dad 100644 |
--- a/components/metrics/net/network_metrics_provider.cc |
+++ b/components/metrics/net/network_metrics_provider.cc |
@@ -227,4 +227,24 @@ void NetworkMetricsProvider::WriteWifiAccessPointProto( |
} |
} |
+bool NetworkMetricsProvider::IsCellularConnection() { |
+ switch (GetConnectionType()) { |
+ case SystemProfileProto_Network_ConnectionType_CONNECTION_2G: |
+ case SystemProfileProto_Network_ConnectionType_CONNECTION_3G: |
+ case SystemProfileProto_Network_ConnectionType_CONNECTION_4G: |
+ return true; |
+ default: |
+ return false; |
+ } |
+} |
+ |
+void NetworkMetricsProvider::GetIsCellularConnection(bool* is_cellular_out) { |
+ *is_cellular_out = IsCellularConnection(); |
+} |
+ |
+base::Callback<void(bool*)> NetworkMetricsProvider::GetConnectionCallback() { |
+ return base::Bind(&NetworkMetricsProvider::GetIsCellularConnection, |
+ weak_ptr_factory_.GetWeakPtr()); |
+} |
+ |
} // namespace metrics |