| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/nqe/network_quality_estimator.h" | 5 #include "net/nqe/network_quality_estimator.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 966 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 977 DCHECK(thread_checker_.CalledOnValidThread()); | 977 DCHECK(thread_checker_.CalledOnValidThread()); |
| 978 use_small_responses_ = use_small_responses; | 978 use_small_responses_ = use_small_responses; |
| 979 throughput_analyzer_->SetUseSmallResponsesForTesting(use_small_responses_); | 979 throughput_analyzer_->SetUseSmallResponsesForTesting(use_small_responses_); |
| 980 } | 980 } |
| 981 | 981 |
| 982 void NetworkQualityEstimator::ReportEffectiveConnectionTypeForTesting( | 982 void NetworkQualityEstimator::ReportEffectiveConnectionTypeForTesting( |
| 983 EffectiveConnectionType effective_connection_type) { | 983 EffectiveConnectionType effective_connection_type) { |
| 984 DCHECK(thread_checker_.CalledOnValidThread()); | 984 DCHECK(thread_checker_.CalledOnValidThread()); |
| 985 for (auto& observer : effective_connection_type_observer_list_) | 985 for (auto& observer : effective_connection_type_observer_list_) |
| 986 observer.OnEffectiveConnectionTypeChanged(effective_connection_type); | 986 observer.OnEffectiveConnectionTypeChanged(effective_connection_type); |
| 987 |
| 988 network_quality_store_->Add( |
| 989 current_network_id_, |
| 990 nqe::internal::CachedNetworkQuality(tick_clock_->NowTicks(), |
| 991 estimated_quality_at_last_main_frame_, |
| 992 effective_connection_type)); |
| 987 } | 993 } |
| 988 | 994 |
| 989 bool NetworkQualityEstimator::RequestProvidesRTTObservation( | 995 bool NetworkQualityEstimator::RequestProvidesRTTObservation( |
| 990 const URLRequest& request) const { | 996 const URLRequest& request) const { |
| 991 DCHECK(thread_checker_.CalledOnValidThread()); | 997 DCHECK(thread_checker_.CalledOnValidThread()); |
| 992 | 998 |
| 993 return (use_localhost_requests_ || !IsLocalhost(request.url().host())) && | 999 return (use_localhost_requests_ || !IsLocalhost(request.url().host())) && |
| 994 // Verify that response headers are received, so it can be ensured that | 1000 // Verify that response headers are received, so it can be ensured that |
| 995 // response is not cached. | 1001 // response is not cached. |
| 996 !request.response_info().response_time.is_null() && | 1002 !request.response_info().response_time.is_null() && |
| (...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1780 network_quality_store_->AddNetworkQualitiesCacheObserver(observer); | 1786 network_quality_store_->AddNetworkQualitiesCacheObserver(observer); |
| 1781 } | 1787 } |
| 1782 | 1788 |
| 1783 void NetworkQualityEstimator::RemoveNetworkQualitiesCacheObserver( | 1789 void NetworkQualityEstimator::RemoveNetworkQualitiesCacheObserver( |
| 1784 nqe::internal::NetworkQualityStore::NetworkQualitiesCacheObserver* | 1790 nqe::internal::NetworkQualityStore::NetworkQualitiesCacheObserver* |
| 1785 observer) { | 1791 observer) { |
| 1786 DCHECK(thread_checker_.CalledOnValidThread()); | 1792 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1787 network_quality_store_->RemoveNetworkQualitiesCacheObserver(observer); | 1793 network_quality_store_->RemoveNetworkQualitiesCacheObserver(observer); |
| 1788 } | 1794 } |
| 1789 | 1795 |
| 1796 void NetworkQualityEstimator::OnPrefsRead( |
| 1797 const std::map<nqe::internal::NetworkID, |
| 1798 nqe::internal::CachedNetworkQuality> read_prefs) { |
| 1799 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1800 UMA_HISTOGRAM_COUNTS("NQE.Prefs.ReadSizeAtStartUp", read_prefs.size()); |
| 1801 // TODO(tbansal): Incorporate the network quality into the current estimates. |
| 1802 } |
| 1803 |
| 1790 } // namespace net | 1804 } // namespace net |
| OLD | NEW |