diff --git a/webrtc/base/network.cc b/webrtc/base/network.cc index 5031e967a5..152bcdf671 100644 --- a/webrtc/base/network.cc +++ b/webrtc/base/network.cc @@ -805,6 +805,13 @@ AdapterType BasicNetworkManager::GetAdapterTypeFromName( if (strncmp(network_name, "pdp_ip", 6) == 0) { return ADAPTER_TYPE_CELLULAR; } + if (strncmp(network_name, "en", 2) == 0) { + // This may not be most accurate because sometimes Ethernet interface + // name also starts with "en" but it is better than showing it as + // "unknown" type. + // TODO(honghaiz): Write a proper IOS network manager. + return ADAPTER_TYPE_WIFI; + } #elif defined(WEBRTC_ANDROID) if (strncmp(network_name, "rmnet", 5) == 0 || strncmp(network_name, "v4-rmnet", 8) == 0) { diff --git a/webrtc/base/network_unittest.cc b/webrtc/base/network_unittest.cc index 9572c69746..2ddc1b03c5 100644 --- a/webrtc/base/network_unittest.cc +++ b/webrtc/base/network_unittest.cc @@ -867,6 +867,12 @@ TEST_F(NetworkTest, TestGetAdapterTypeFromNameMatching) { ClearNetworks(manager); ReleaseIfAddrs(addr_list); + strcpy(if_name, "en0"); + addr_list = InstallIpv6Network(if_name, ipv6_address1, ipv6_mask, manager); + EXPECT_EQ(ADAPTER_TYPE_WIFI, GetAdapterType(manager)); + ClearNetworks(manager); + ReleaseIfAddrs(addr_list); + #elif defined(WEBRTC_ANDROID) char if_name[20] = "rmnet0"; ifaddrs* addr_list =