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

Unified Diff: net/base/network_change_notifier.h

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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/base/net_log_event_type_list.h ('k') | net/base/network_change_notifier.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/network_change_notifier.h
diff --git a/net/base/network_change_notifier.h b/net/base/network_change_notifier.h
index 285c52b8e6e2fcb52b76d28342749029adc464ff..73842d4bd5f66a5475625595d3a4c84d8c8634d8 100644
--- a/net/base/network_change_notifier.h
+++ b/net/base/network_change_notifier.h
@@ -174,6 +174,25 @@ class NET_EXPORT NetworkChangeNotifier {
DISALLOW_COPY_AND_ASSIGN(NetworkChangeObserver);
};
+ class NET_EXPORT MaxBandwidthObserver {
+ public:
+ // Will be called when a change occurs to the network's maximum bandwidth as
+ // defined in http://w3c.github.io/netinfo/. Generally this will only be
+ // called on bandwidth changing network connection/disconnection events.
+ // Some platforms may call it more frequently, such as when WiFi signal
+ // strength changes.
+ // TODO(jkarlin): This is currently only implemented for Android. Implement
+ // on every platform.
+ virtual void OnMaxBandwidthChanged(double max_bandwidth_mbps) = 0;
+
+ protected:
+ MaxBandwidthObserver() {}
+ virtual ~MaxBandwidthObserver() {}
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MaxBandwidthObserver);
+ };
+
virtual ~NetworkChangeNotifier();
// See the description of NetworkChangeNotifier::GetConnectionType().
@@ -252,6 +271,7 @@ class NET_EXPORT NetworkChangeNotifier {
static void AddConnectionTypeObserver(ConnectionTypeObserver* observer);
static void AddDNSObserver(DNSObserver* observer);
static void AddNetworkChangeObserver(NetworkChangeObserver* observer);
+ static void AddMaxBandwidthObserver(MaxBandwidthObserver* observer);
// Unregisters |observer| from receiving notifications. This must be called
// on the same thread on which AddObserver() was called. Like AddObserver(),
@@ -264,6 +284,7 @@ class NET_EXPORT NetworkChangeNotifier {
static void RemoveConnectionTypeObserver(ConnectionTypeObserver* observer);
static void RemoveDNSObserver(DNSObserver* observer);
static void RemoveNetworkChangeObserver(NetworkChangeObserver* observer);
+ static void RemoveMaxBandwidthObserver(MaxBandwidthObserver* observer);
// Allow unit tests to trigger notifications.
static void NotifyObserversOfIPAddressChangeForTests();
@@ -366,6 +387,7 @@ class NET_EXPORT NetworkChangeNotifier {
static void NotifyObserversOfConnectionTypeChange();
static void NotifyObserversOfDNSChange();
static void NotifyObserversOfNetworkChange(ConnectionType type);
+ static void NotifyObserversOfMaxBandwidthChange(double max_bandwidth_mbps);
// Stores |config| in NetworkState and notifies observers.
static void SetDnsConfig(const DnsConfig& config);
@@ -383,15 +405,18 @@ class NET_EXPORT NetworkChangeNotifier {
void NotifyObserversOfConnectionTypeChangeImpl(ConnectionType type);
void NotifyObserversOfDNSChangeImpl();
void NotifyObserversOfNetworkChangeImpl(ConnectionType type);
+ void NotifyObserversOfMaxBandwidthChangeImpl(double max_bandwidth_mbps);
- const scoped_refptr<ObserverListThreadSafe<IPAddressObserver> >
+ const scoped_refptr<ObserverListThreadSafe<IPAddressObserver>>
ip_address_observer_list_;
- const scoped_refptr<ObserverListThreadSafe<ConnectionTypeObserver> >
+ const scoped_refptr<ObserverListThreadSafe<ConnectionTypeObserver>>
connection_type_observer_list_;
- const scoped_refptr<ObserverListThreadSafe<DNSObserver> >
+ const scoped_refptr<ObserverListThreadSafe<DNSObserver>>
resolver_state_observer_list_;
- const scoped_refptr<ObserverListThreadSafe<NetworkChangeObserver> >
+ const scoped_refptr<ObserverListThreadSafe<NetworkChangeObserver>>
network_change_observer_list_;
+ const scoped_refptr<ObserverListThreadSafe<MaxBandwidthObserver>>
+ max_bandwidth_observer_list_;
// The current network state. Hosts DnsConfig, exposed via GetDnsConfig.
scoped_ptr<NetworkState> network_state_;
« no previous file with comments | « net/base/net_log_event_type_list.h ('k') | net/base/network_change_notifier.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698