summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-19 04:57:45 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-19 04:57:45 +0000
commit2ad7f1b00baeb0805aa5d87692e11230edbeaf74 (patch)
tree3a0bd653d1b5522111f3787cb17404d0e755ab38 /chrome
parentcb9b22f495de76e94eb4a0dd0d0094e020617c03 (diff)
downloadchromium_src-2ad7f1b00baeb0805aa5d87692e11230edbeaf74.zip
chromium_src-2ad7f1b00baeb0805aa5d87692e11230edbeaf74.tar.gz
chromium_src-2ad7f1b00baeb0805aa5d87692e11230edbeaf74.tar.bz2
Use Device.Scanning for wifi_scanning
This also refactors NetworkListDetailedViewBase::RefreshNetworkList, shich should help make the code more maintainable, and fixes a subtle bug where the "scanning" text was not getting removed. It also reduces the jumpiness of the network list when it updates. BUG=153004 Review URL: https://chromiumcodereview.appspot.com/12018022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177846 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/chromeos/cros/network_library_impl_cros.cc31
-rw-r--r--chrome/browser/chromeos/cros/network_library_impl_cros.h2
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);
};