Add support for cellular geolocation

Shill cellular devices now collect and report cell tower information
(as of https://chromium-review.googlesource.com/#/c/412192/ ).
This makes geolocation_handler aware of the changes, and provides a mechanism
for consumers to query cell towers and wifi APNs separately. The
geolocation handler now plucks the keys of interest out of the
dictionary returned from shill's manager, rather than iterating and
assuming each entry corresponds to a wifi access point.

Use cell tower info in SimpleGeolocationProvider: it will now send
cell tower information if available and the setting enabled.
Cell towers and wifi APs are combined into a single management
setting (as cell tower information should be less sensitive than wifi
network information), but enables us to send them separately if so
desired.

BUG=b/30019266/
BUG=601174
TEST=Unittest verifying that requests are well-formed
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2624843003
Cr-Original-Commit-Position: refs/heads/master@{#450183}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: eaf50cbe0129bf60335274cdea2b8b95354cd0d2
1 file changed
tree: 4f7040b639c953f381308f11d3d32fa50656f647
  1. chrome_device_policy.proto
  2. install_attributes.proto