The geolocation code in netwerk/wifi/nsWifiScannerFreeBSD.cpp is failing to return lat/lon location.
Repeat by going to:
Grant it location access permission. It fails. It should work and show your lat/lon position.
I wrote the code in nsWifiScannerFreeBSD.cpp back in 2012. I believe the wifi lookup code itself is still good. I have verified it is being compiled in (it is, it's in libxul.so). I have run firefox with debugging enabled and see that the code is still finding the local wifi networks (run firefox with "-MOZ_LOG=timestamp,WifiMonitor:4" to see this).
A manual test of the geolocation API per the instructions here:
seems to show that the API key we are using has expired and billing needs to be enabled on it. Firefox appears to be getting the daily usage limit exceeded error.
Does geolocation work in www/chromium? That's where the API key originates. Like with SafeBrowsing the quota has to be extended. Unfortunately, I don't know who to contact.
Just tried it. No, it fails on www/chromium too.
According to this page:
We need to enable billing on our Chromium Project page, but the use of the API is then free.
Does this workaround the issue?
– and if so, is it an _appropriate_ alternative?
(NB the trailing `%`)
gecko@ doesn't have Mozilla API key, so bandwidth maybe limited. Open resource://gre/modules/AppConstants.jsm to inspect actual values for various %FOO% strings.