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

Side by Side Diff: net/base/network_change_notifier.cc

Issue 1047103002: Avoid initial NetworkChangeNotifier OnDNSChanged() signal on Android (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: revert an accidental test enabling Created 5 years, 8 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 unified diff | Download patch
« no previous file with comments | « net/base/network_change_notifier.h ('k') | net/dns/dns_config_service_posix.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/base/network_change_notifier.h" 5 #include "net/base/network_change_notifier.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/synchronization/lock.h" 10 #include "base/synchronization/lock.h"
(...skipping 758 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 } 769 }
770 770
771 // static 771 // static
772 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeForTests( 772 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeForTests(
773 ConnectionType type) { 773 ConnectionType type) {
774 if (g_network_change_notifier) 774 if (g_network_change_notifier)
775 g_network_change_notifier->NotifyObserversOfNetworkChangeImpl(type); 775 g_network_change_notifier->NotifyObserversOfNetworkChangeImpl(type);
776 } 776 }
777 777
778 // static 778 // static
779 void NetworkChangeNotifier::NotifyObserversOfInitialDNSConfigReadForTests() {
780 if (g_network_change_notifier)
781 g_network_change_notifier->NotifyObserversOfInitialDNSConfigReadImpl();
782 }
783
784 // static
779 void NetworkChangeNotifier::SetTestNotificationsOnly(bool test_only) { 785 void NetworkChangeNotifier::SetTestNotificationsOnly(bool test_only) {
780 if (g_network_change_notifier) 786 if (g_network_change_notifier)
781 g_network_change_notifier->test_notifications_only_ = test_only; 787 g_network_change_notifier->test_notifications_only_ = test_only;
782 } 788 }
783 789
784 NetworkChangeNotifier::NetworkChangeNotifier( 790 NetworkChangeNotifier::NetworkChangeNotifier(
785 const NetworkChangeCalculatorParams& params 791 const NetworkChangeCalculatorParams& params
786 /*= NetworkChangeCalculatorParams()*/) 792 /*= NetworkChangeCalculatorParams()*/)
787 : ip_address_observer_list_(new ObserverListThreadSafe<IPAddressObserver>( 793 : ip_address_observer_list_(new ObserverListThreadSafe<IPAddressObserver>(
788 ObserverListBase<IPAddressObserver>::NOTIFY_EXISTING_ONLY)), 794 ObserverListBase<IPAddressObserver>::NOTIFY_EXISTING_ONLY)),
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 940
935 // static 941 // static
936 void NetworkChangeNotifier::NotifyObserversOfDNSChange() { 942 void NetworkChangeNotifier::NotifyObserversOfDNSChange() {
937 if (g_network_change_notifier && 943 if (g_network_change_notifier &&
938 !g_network_change_notifier->test_notifications_only_) { 944 !g_network_change_notifier->test_notifications_only_) {
939 g_network_change_notifier->NotifyObserversOfDNSChangeImpl(); 945 g_network_change_notifier->NotifyObserversOfDNSChangeImpl();
940 } 946 }
941 } 947 }
942 948
943 // static 949 // static
950 void NetworkChangeNotifier::NotifyObserversOfInitialDNSConfigRead() {
951 if (g_network_change_notifier &&
952 !g_network_change_notifier->test_notifications_only_) {
953 g_network_change_notifier->NotifyObserversOfInitialDNSConfigReadImpl();
954 }
955 }
956
957 // static
944 void NetworkChangeNotifier::SetDnsConfig(const DnsConfig& config) { 958 void NetworkChangeNotifier::SetDnsConfig(const DnsConfig& config) {
945 if (!g_network_change_notifier) 959 if (!g_network_change_notifier)
946 return; 960 return;
947 g_network_change_notifier->network_state_->SetDnsConfig(config); 961 g_network_change_notifier->network_state_->SetDnsConfig(config);
948 NotifyObserversOfDNSChange(); 962 NotifyObserversOfDNSChange();
949 } 963 }
950 964
965 // static
966 void NetworkChangeNotifier::SetInitialDnsConfig(const DnsConfig& config) {
967 if (!g_network_change_notifier)
968 return;
969 #if DCHECK_IS_ON()
970 // Verify we've never received a valid DnsConfig previously.
971 DnsConfig old_config;
972 g_network_change_notifier->network_state_->GetDnsConfig(&old_config);
973 DCHECK(!old_config.IsValid());
974 #endif
975 g_network_change_notifier->network_state_->SetDnsConfig(config);
976 NotifyObserversOfInitialDNSConfigRead();
977 }
978
951 void NetworkChangeNotifier::NotifyObserversOfIPAddressChangeImpl() { 979 void NetworkChangeNotifier::NotifyObserversOfIPAddressChangeImpl() {
952 ip_address_observer_list_->Notify(FROM_HERE, 980 ip_address_observer_list_->Notify(FROM_HERE,
953 &IPAddressObserver::OnIPAddressChanged); 981 &IPAddressObserver::OnIPAddressChanged);
954 } 982 }
955 983
956 void NetworkChangeNotifier::NotifyObserversOfConnectionTypeChangeImpl( 984 void NetworkChangeNotifier::NotifyObserversOfConnectionTypeChangeImpl(
957 ConnectionType type) { 985 ConnectionType type) {
958 connection_type_observer_list_->Notify( 986 connection_type_observer_list_->Notify(
959 FROM_HERE, &ConnectionTypeObserver::OnConnectionTypeChanged, type); 987 FROM_HERE, &ConnectionTypeObserver::OnConnectionTypeChanged, type);
960 } 988 }
961 989
962 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeImpl( 990 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeImpl(
963 ConnectionType type) { 991 ConnectionType type) {
964 network_change_observer_list_->Notify( 992 network_change_observer_list_->Notify(
965 FROM_HERE, &NetworkChangeObserver::OnNetworkChanged, type); 993 FROM_HERE, &NetworkChangeObserver::OnNetworkChanged, type);
966 } 994 }
967 995
968 void NetworkChangeNotifier::NotifyObserversOfDNSChangeImpl() { 996 void NetworkChangeNotifier::NotifyObserversOfDNSChangeImpl() {
969 resolver_state_observer_list_->Notify(FROM_HERE, &DNSObserver::OnDNSChanged); 997 resolver_state_observer_list_->Notify(FROM_HERE, &DNSObserver::OnDNSChanged);
970 } 998 }
971 999
1000 void NetworkChangeNotifier::NotifyObserversOfInitialDNSConfigReadImpl() {
1001 resolver_state_observer_list_->Notify(FROM_HERE,
1002 &DNSObserver::OnInitialDNSConfigRead);
1003 }
1004
972 void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeImpl( 1005 void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeImpl(
973 double max_bandwidth_mbps) { 1006 double max_bandwidth_mbps) {
974 max_bandwidth_observer_list_->Notify( 1007 max_bandwidth_observer_list_->Notify(
975 FROM_HERE, &MaxBandwidthObserver::OnMaxBandwidthChanged, 1008 FROM_HERE, &MaxBandwidthObserver::OnMaxBandwidthChanged,
976 max_bandwidth_mbps); 1009 max_bandwidth_mbps);
977 } 1010 }
978 1011
979 NetworkChangeNotifier::DisableForTest::DisableForTest() 1012 NetworkChangeNotifier::DisableForTest::DisableForTest()
980 : network_change_notifier_(g_network_change_notifier) { 1013 : network_change_notifier_(g_network_change_notifier) {
981 DCHECK(g_network_change_notifier); 1014 DCHECK(g_network_change_notifier);
982 g_network_change_notifier = NULL; 1015 g_network_change_notifier = NULL;
983 } 1016 }
984 1017
985 NetworkChangeNotifier::DisableForTest::~DisableForTest() { 1018 NetworkChangeNotifier::DisableForTest::~DisableForTest() {
986 DCHECK(!g_network_change_notifier); 1019 DCHECK(!g_network_change_notifier);
987 g_network_change_notifier = network_change_notifier_; 1020 g_network_change_notifier = network_change_notifier_;
988 } 1021 }
989 1022
1023 void NetworkChangeNotifier::DNSObserver::OnInitialDNSConfigRead() {
1024 }
1025
990 } // namespace net 1026 } // namespace net
OLDNEW
« no previous file with comments | « net/base/network_change_notifier.h ('k') | net/dns/dns_config_service_posix.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698