Index: net/base/network_change_notifier.h |
diff --git a/net/base/network_change_notifier.h b/net/base/network_change_notifier.h |
index bdd2d181a1f847c083e5ae323d3f2d83c3c6fadd..285c52b8e6e2fcb52b76d28342749029adc464ff 100644 |
--- a/net/base/network_change_notifier.h |
+++ b/net/base/network_change_notifier.h |
@@ -34,6 +34,9 @@ class NET_EXPORT NetworkChangeNotifier { |
public: |
// This is a superset of the connection types in the NetInfo v3 specification: |
// http://w3c.github.io/netinfo/. |
+ // |
+ // A Java counterpart will be generated for this enum. |
+ // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net |
enum ConnectionType { |
CONNECTION_UNKNOWN = 0, // A connection exists, but its type is unknown. |
// Also used as a default value. |
@@ -47,6 +50,49 @@ class NET_EXPORT NetworkChangeNotifier { |
CONNECTION_LAST = CONNECTION_BLUETOOTH |
}; |
+ // This is the NetInfo v3 set of connection technologies as seen in |
+ // http://w3c.github.io/netinfo/. This enum is copied in |
+ // NetworkChangeNotifier.java so be sure to change both at once. |
+ // |
+ // A Java counterpart will be generated for this enum. |
+ // GENERATED_JAVA_ENUM_PACKAGE: org.chromium.net |
+ enum ConnectionSubtype { |
+ SUBTYPE_GSM = 0, |
+ SUBTYPE_IDEN, |
+ SUBTYPE_CDMA, |
+ SUBTYPE_1XRTT, |
+ SUBTYPE_GPRS, |
+ SUBTYPE_EDGE, |
+ SUBTYPE_UMTS, |
+ SUBTYPE_EVDO_REV_0, |
+ SUBTYPE_EVDO_REV_A, |
+ SUBTYPE_HSPA, |
+ SUBTYPE_EVDO_REV_B, |
+ SUBTYPE_HSDPA, |
+ SUBTYPE_HSUPA, |
+ SUBTYPE_EHRPD, |
+ SUBTYPE_HSPAP, |
+ SUBTYPE_LTE, |
+ SUBTYPE_LTE_ADVANCED, |
+ SUBTYPE_BLUETOOTH_1_2, |
+ SUBTYPE_BLUETOOTH_2_1, |
+ SUBTYPE_BLUETOOTH_3_0, |
+ SUBTYPE_BLUETOOTH_4_0, |
+ SUBTYPE_ETHERNET, |
+ SUBTYPE_FAST_ETHERNET, |
+ SUBTYPE_GIGABIT_ETHERNET, |
+ SUBTYPE_10_GIGABIT_ETHERNET, |
+ SUBTYPE_WIFI_B, |
+ SUBTYPE_WIFI_G, |
+ SUBTYPE_WIFI_N, |
+ SUBTYPE_WIFI_AC, |
+ SUBTYPE_WIFI_AD, |
+ SUBTYPE_UNKNOWN, |
+ SUBTYPE_NONE, |
+ SUBTYPE_OTHER, |
+ SUBTYPE_LAST = SUBTYPE_OTHER |
+ }; |
+ |
class NET_EXPORT IPAddressObserver { |
public: |
// Will be called when the IP address of the primary interface changes. |
@@ -162,7 +208,9 @@ class NET_EXPORT NetworkChangeNotifier { |
// Returns a theoretical upper limit on download bandwidth, potentially based |
// on underlying connection type, signal strength, or some other signal. The |
// default mapping of connection type to maximum bandwidth is provided in the |
- // NetInfo spec: http://w3c.github.io/netinfo/. |
+ // NetInfo spec: http://w3c.github.io/netinfo/. Host-specific application |
+ // permissions may be required, please see host-specific declaration for more |
+ // information. |
static double GetMaxBandwidth(); |
// Retrieve the last read DnsConfig. This could be expensive if the system has |
@@ -306,6 +354,11 @@ class NET_EXPORT NetworkChangeNotifier { |
// cheap as it is called often. |
virtual double GetCurrentMaxBandwidth() const; |
+ // Returns a theoretical upper limit on download bandwidth given a connection |
+ // subtype. The mapping of connection type to maximum bandwidth is provided in |
+ // the NetInfo spec: http://w3c.github.io/netinfo/. |
+ static double GetMaxBandwidthForConnectionSubtype(ConnectionSubtype subtype); |
+ |
// Broadcasts a notification to all registered observers. Note that this |
// happens asynchronously, even for observers on the current thread, even in |
// tests. |