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

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

Issue 816543004: Update from https://crrev.com/308996 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years 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
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 670 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 } 681 }
682 682
683 void NetworkChangeNotifier::AddNetworkChangeObserver( 683 void NetworkChangeNotifier::AddNetworkChangeObserver(
684 NetworkChangeObserver* observer) { 684 NetworkChangeObserver* observer) {
685 if (g_network_change_notifier) { 685 if (g_network_change_notifier) {
686 g_network_change_notifier->network_change_observer_list_->AddObserver( 686 g_network_change_notifier->network_change_observer_list_->AddObserver(
687 observer); 687 observer);
688 } 688 }
689 } 689 }
690 690
691 void NetworkChangeNotifier::AddMaxBandwidthObserver(
692 MaxBandwidthObserver* observer) {
693 if (g_network_change_notifier) {
694 g_network_change_notifier->max_bandwidth_observer_list_->AddObserver(
695 observer);
696 }
697 }
698
691 void NetworkChangeNotifier::RemoveIPAddressObserver( 699 void NetworkChangeNotifier::RemoveIPAddressObserver(
692 IPAddressObserver* observer) { 700 IPAddressObserver* observer) {
693 if (g_network_change_notifier) { 701 if (g_network_change_notifier) {
694 g_network_change_notifier->ip_address_observer_list_->RemoveObserver( 702 g_network_change_notifier->ip_address_observer_list_->RemoveObserver(
695 observer); 703 observer);
696 } 704 }
697 } 705 }
698 706
699 void NetworkChangeNotifier::RemoveConnectionTypeObserver( 707 void NetworkChangeNotifier::RemoveConnectionTypeObserver(
700 ConnectionTypeObserver* observer) { 708 ConnectionTypeObserver* observer) {
(...skipping 11 matching lines...) Expand all
712 } 720 }
713 721
714 void NetworkChangeNotifier::RemoveNetworkChangeObserver( 722 void NetworkChangeNotifier::RemoveNetworkChangeObserver(
715 NetworkChangeObserver* observer) { 723 NetworkChangeObserver* observer) {
716 if (g_network_change_notifier) { 724 if (g_network_change_notifier) {
717 g_network_change_notifier->network_change_observer_list_->RemoveObserver( 725 g_network_change_notifier->network_change_observer_list_->RemoveObserver(
718 observer); 726 observer);
719 } 727 }
720 } 728 }
721 729
730 void NetworkChangeNotifier::RemoveMaxBandwidthObserver(
731 MaxBandwidthObserver* observer) {
732 if (g_network_change_notifier) {
733 g_network_change_notifier->max_bandwidth_observer_list_->RemoveObserver(
734 observer);
735 }
736 }
737
722 // static 738 // static
723 void NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests() { 739 void NetworkChangeNotifier::NotifyObserversOfIPAddressChangeForTests() {
724 if (g_network_change_notifier) 740 if (g_network_change_notifier)
725 g_network_change_notifier->NotifyObserversOfIPAddressChangeImpl(); 741 g_network_change_notifier->NotifyObserversOfIPAddressChangeImpl();
726 } 742 }
727 743
728 // static 744 // static
729 void NetworkChangeNotifier::NotifyObserversOfConnectionTypeChangeForTests( 745 void NetworkChangeNotifier::NotifyObserversOfConnectionTypeChangeForTests(
730 ConnectionType type) { 746 ConnectionType type) {
731 if (g_network_change_notifier) 747 if (g_network_change_notifier)
732 g_network_change_notifier->NotifyObserversOfConnectionTypeChangeImpl(type); 748 g_network_change_notifier->NotifyObserversOfConnectionTypeChangeImpl(type);
733 } 749 }
734 750
735 // static 751 // static
736 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeForTests( 752 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeForTests(
737 ConnectionType type) { 753 ConnectionType type) {
738 if (g_network_change_notifier) 754 if (g_network_change_notifier)
739 g_network_change_notifier->NotifyObserversOfNetworkChangeImpl(type); 755 g_network_change_notifier->NotifyObserversOfNetworkChangeImpl(type);
740 } 756 }
741 757
742 // static 758 // static
743 void NetworkChangeNotifier::SetTestNotificationsOnly(bool test_only) { 759 void NetworkChangeNotifier::SetTestNotificationsOnly(bool test_only) {
744 if (g_network_change_notifier) 760 if (g_network_change_notifier)
745 g_network_change_notifier->test_notifications_only_ = test_only; 761 g_network_change_notifier->test_notifications_only_ = test_only;
746 } 762 }
747 763
748 NetworkChangeNotifier::NetworkChangeNotifier( 764 NetworkChangeNotifier::NetworkChangeNotifier(
749 const NetworkChangeCalculatorParams& params 765 const NetworkChangeCalculatorParams& params
750 /*= NetworkChangeCalculatorParams()*/) 766 /*= NetworkChangeCalculatorParams()*/)
751 : ip_address_observer_list_( 767 : ip_address_observer_list_(new ObserverListThreadSafe<IPAddressObserver>(
752 new ObserverListThreadSafe<IPAddressObserver>( 768 ObserverListBase<IPAddressObserver>::NOTIFY_EXISTING_ONLY)),
753 ObserverListBase<IPAddressObserver>::NOTIFY_EXISTING_ONLY)),
754 connection_type_observer_list_( 769 connection_type_observer_list_(
755 new ObserverListThreadSafe<ConnectionTypeObserver>( 770 new ObserverListThreadSafe<ConnectionTypeObserver>(
756 ObserverListBase<ConnectionTypeObserver>::NOTIFY_EXISTING_ONLY)), 771 ObserverListBase<ConnectionTypeObserver>::NOTIFY_EXISTING_ONLY)),
757 resolver_state_observer_list_( 772 resolver_state_observer_list_(new ObserverListThreadSafe<DNSObserver>(
758 new ObserverListThreadSafe<DNSObserver>( 773 ObserverListBase<DNSObserver>::NOTIFY_EXISTING_ONLY)),
759 ObserverListBase<DNSObserver>::NOTIFY_EXISTING_ONLY)),
760 network_change_observer_list_( 774 network_change_observer_list_(
761 new ObserverListThreadSafe<NetworkChangeObserver>( 775 new ObserverListThreadSafe<NetworkChangeObserver>(
762 ObserverListBase<NetworkChangeObserver>::NOTIFY_EXISTING_ONLY)), 776 ObserverListBase<NetworkChangeObserver>::NOTIFY_EXISTING_ONLY)),
777 max_bandwidth_observer_list_(
778 new ObserverListThreadSafe<MaxBandwidthObserver>(
779 ObserverListBase<MaxBandwidthObserver>::NOTIFY_EXISTING_ONLY)),
763 network_state_(new NetworkState()), 780 network_state_(new NetworkState()),
764 network_change_calculator_(new NetworkChangeCalculator(params)), 781 network_change_calculator_(new NetworkChangeCalculator(params)),
765 test_notifications_only_(false) { 782 test_notifications_only_(false) {
766 DCHECK(!g_network_change_notifier); 783 DCHECK(!g_network_change_notifier);
767 g_network_change_notifier = this; 784 g_network_change_notifier = this;
768 network_change_calculator_->Init(); 785 network_change_calculator_->Init();
769 } 786 }
770 787
771 #if defined(OS_LINUX) 788 #if defined(OS_LINUX)
772 const internal::AddressTrackerLinux* 789 const internal::AddressTrackerLinux*
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 // static 896 // static
880 void NetworkChangeNotifier::NotifyObserversOfNetworkChange( 897 void NetworkChangeNotifier::NotifyObserversOfNetworkChange(
881 ConnectionType type) { 898 ConnectionType type) {
882 if (g_network_change_notifier && 899 if (g_network_change_notifier &&
883 !g_network_change_notifier->test_notifications_only_) { 900 !g_network_change_notifier->test_notifications_only_) {
884 g_network_change_notifier->NotifyObserversOfNetworkChangeImpl(type); 901 g_network_change_notifier->NotifyObserversOfNetworkChangeImpl(type);
885 } 902 }
886 } 903 }
887 904
888 // static 905 // static
906 void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChange(
907 double max_bandwidth_mbps) {
908 if (g_network_change_notifier &&
909 !g_network_change_notifier->test_notifications_only_) {
910 g_network_change_notifier->NotifyObserversOfMaxBandwidthChangeImpl(
911 max_bandwidth_mbps);
912 }
913 }
914
915 // static
889 void NetworkChangeNotifier::NotifyObserversOfDNSChange() { 916 void NetworkChangeNotifier::NotifyObserversOfDNSChange() {
890 if (g_network_change_notifier && 917 if (g_network_change_notifier &&
891 !g_network_change_notifier->test_notifications_only_) { 918 !g_network_change_notifier->test_notifications_only_) {
892 g_network_change_notifier->NotifyObserversOfDNSChangeImpl(); 919 g_network_change_notifier->NotifyObserversOfDNSChangeImpl();
893 } 920 }
894 } 921 }
895 922
896 // static 923 // static
897 void NetworkChangeNotifier::SetDnsConfig(const DnsConfig& config) { 924 void NetworkChangeNotifier::SetDnsConfig(const DnsConfig& config) {
898 if (!g_network_change_notifier) 925 if (!g_network_change_notifier)
(...skipping 15 matching lines...) Expand all
914 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeImpl( 941 void NetworkChangeNotifier::NotifyObserversOfNetworkChangeImpl(
915 ConnectionType type) { 942 ConnectionType type) {
916 network_change_observer_list_->Notify( 943 network_change_observer_list_->Notify(
917 &NetworkChangeObserver::OnNetworkChanged, type); 944 &NetworkChangeObserver::OnNetworkChanged, type);
918 } 945 }
919 946
920 void NetworkChangeNotifier::NotifyObserversOfDNSChangeImpl() { 947 void NetworkChangeNotifier::NotifyObserversOfDNSChangeImpl() {
921 resolver_state_observer_list_->Notify(&DNSObserver::OnDNSChanged); 948 resolver_state_observer_list_->Notify(&DNSObserver::OnDNSChanged);
922 } 949 }
923 950
951 void NetworkChangeNotifier::NotifyObserversOfMaxBandwidthChangeImpl(
952 double max_bandwidth_mbps) {
953 max_bandwidth_observer_list_->Notify(
954 &MaxBandwidthObserver::OnMaxBandwidthChanged, max_bandwidth_mbps);
955 }
956
924 NetworkChangeNotifier::DisableForTest::DisableForTest() 957 NetworkChangeNotifier::DisableForTest::DisableForTest()
925 : network_change_notifier_(g_network_change_notifier) { 958 : network_change_notifier_(g_network_change_notifier) {
926 DCHECK(g_network_change_notifier); 959 DCHECK(g_network_change_notifier);
927 g_network_change_notifier = NULL; 960 g_network_change_notifier = NULL;
928 } 961 }
929 962
930 NetworkChangeNotifier::DisableForTest::~DisableForTest() { 963 NetworkChangeNotifier::DisableForTest::~DisableForTest() {
931 DCHECK(!g_network_change_notifier); 964 DCHECK(!g_network_change_notifier);
932 g_network_change_notifier = network_change_notifier_; 965 g_network_change_notifier = network_change_notifier_;
933 } 966 }
934 967
935 } // namespace net 968 } // namespace net
OLDNEW
« no previous file with comments | « net/base/network_change_notifier.h ('k') | net/base/registry_controlled_domains/effective_tld_names.dat » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698