commit | 6fe4f26613956552aa2016337659cd9bca55b8e5 | [log] [tgz] |
---|---|---|
author | Arman Uguray <armansito@chromium.org> | Fri Aug 02 20:21:55 2013 -0700 |
committer | ChromeBot <chrome-bot@google.com> | Wed Aug 07 22:14:42 2013 -0700 |
tree | 5cef759a247aad3924cec02b85765cba7ce43aa0 | |
parent | 200591ab713d52e042d65517563a7d67f91ec39e [diff] |
shill: ConnectToBestServices should ignore user-disconnected services. Manager.ConnectToBestServices should ignore explicitly disconnected services. This CL addresses a corner-case caught by network_ChromeCellularSmokeTest (which caused very frequent failures), in which the network doesn't become disconnected after a call to chrome.networkingPrivate.startDisconnect, due to a race between the test and the certificate loader that issues a call to Manager.ConnectToBestServices after the modem disconnects but before the service state propagates to the UI. This seems to violate user intent, as this call causes a service that is explicitly disconnected by the user through a high-level API call to become disconnected. The reasons for applying this fix in shill and not the UI: 1. It is extremely easy to fix in shill and is slightly more involved in the NetworkConnectHandler level, as shill already stores which services have been explicitly disconnected through an API call. 2. It makes sense from a shill API stand-point. It can be argued that explicitly disconnected service is temporarily undesirable and shill shouldn't automatically connect to it. This reasoning is already applied to auto-connect. BUG=chromium:266746,chromium:267011 TEST=1. Build and run unit tests. 2. network_ChromeCellularSmokeTest. Change-Id: Ieeb4aef967a2777e94a2a291efc99b7b0b31567f Reviewed-on: https://gerrit.chromium.org/gerrit/64427 Reviewed-by: mukesh agrawal <quiche@chromium.org> Tested-by: Arman Uguray <armansito@chromium.org> Commit-Queue: Arman Uguray <armansito@chromium.org>