diff options
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/chromeos/cros/network_library_impl_cros.cc | 31 | ||||
-rw-r--r-- | chrome/browser/chromeos/cros/network_library_impl_cros.h | 2 |
2 files changed, 8 insertions, 25 deletions
diff --git a/chrome/browser/chromeos/cros/network_library_impl_cros.cc b/chrome/browser/chromeos/cros/network_library_impl_cros.cc index f80e0a9..c0b7c55 100644 --- a/chrome/browser/chromeos/cros/network_library_impl_cros.cc +++ b/chrome/browser/chromeos/cros/network_library_impl_cros.cc @@ -155,6 +155,10 @@ void NetworkLibraryImplCros::UpdateNetworkDeviceStatus( VLOG(1) << "UpdateNetworkDeviceStatus: Failed to update: " << path << "." << key; } + if (device->type() == TYPE_WIFI && device->scanning() != wifi_scanning_) { + wifi_scanning_ = device->scanning(); + NotifyNetworkManagerChanged(false); // Not forced. + } // Notify only observers on device property change. NotifyNetworkDeviceChanged(device, index); // If a device's power state changes, new properties may become defined. @@ -446,12 +450,8 @@ bool NetworkLibraryImplCros::IsCellularAlwaysInRoaming() { } void NetworkLibraryImplCros::RequestNetworkScan() { - if (wifi_enabled() && !wifi_scanning_) { - VLOG(1) << "Wifi network scan requested"; - wifi_scanning_ = true; - wifi_scan_request_time_ = base::Time::Now(); + if (wifi_enabled()) CrosRequestNetworkScan(flimflam::kTypeWifi); - } if (wimax_enabled()) CrosRequestNetworkScan(flimflam::kTypeWimax); @@ -844,20 +844,6 @@ void NetworkLibraryImplCros::UpdateNetworkServiceList( } } - if (wifi_enabled()) { - if (wifi_scanning_) { - // If we haven't requested a scan recently, set scanning to false. - const int kMaxScanTimeSeconds = 15; - base::TimeDelta dtime = base::Time::Now() - wifi_scan_request_time_; - if (dtime.InSeconds() > kMaxScanTimeSeconds) { - VLOG(1) << "Wifi scan timeout"; - wifi_scanning_ = false; // Timeout, assume no wifi networks found - } - } - } else { - wifi_scanning_ = false; - } - // Iterate through list of remaining networks that are no longer in the // list and delete them or update their status and re-add them to the list. for (NetworkMap::iterator iter = old_network_map.begin(); @@ -965,10 +951,6 @@ Network* NetworkLibraryImplCros::ParseNetwork( // << service_path; } - if (wifi_scanning_ && network->type() == TYPE_WIFI) { - VLOG(1) << "Wifi scan completed"; - wifi_scanning_ = false; - } VLOG(2) << "ParseNetwork: " << network->name() << " path: " << network->service_path() << " profile: " << network->profile_path_; @@ -1232,6 +1214,9 @@ void NetworkLibraryImplCros::ParseNetworkDevice(const std::string& device_path, if (device && device->type() == TYPE_CELLULAR) UpdateCellularDeviceStatus(device, PROPERTY_INDEX_CELLULAR_ALLOW_ROAMING); + if (device && device->type() == TYPE_WIFI) + wifi_scanning_ = device->scanning(); + NotifyNetworkManagerChanged(false); // Not forced. AddNetworkDeviceObserver(device_path, network_device_observer_.get()); } diff --git a/chrome/browser/chromeos/cros/network_library_impl_cros.h b/chrome/browser/chromeos/cros/network_library_impl_cros.h index d284ad9..a869822 100644 --- a/chrome/browser/chromeos/cros/network_library_impl_cros.h +++ b/chrome/browser/chromeos/cros/network_library_impl_cros.h @@ -209,8 +209,6 @@ class NetworkLibraryImplCros : public NetworkLibraryImplBase { // Map of monitored devices. NetworkWatcherMap monitored_devices_; - base::Time wifi_scan_request_time_; - DISALLOW_COPY_AND_ASSIGN(NetworkLibraryImplCros); }; |