| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/geolocation/network_location_provider.h" | 5 #include "content/browser/geolocation/network_location_provider.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/location.h" | |
| 9 #include "base/single_thread_task_runner.h" | |
| 10 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" |
| 11 #include "base/thread_task_runner_handle.h" | |
| 12 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 13 #include "content/public/browser/access_token_store.h" | 10 #include "content/public/browser/access_token_store.h" |
| 14 | 11 |
| 15 namespace content { | 12 namespace content { |
| 16 namespace { | 13 namespace { |
| 17 // The maximum period of time we'll wait for a complete set of wifi data | 14 // The maximum period of time we'll wait for a complete set of wifi data |
| 18 // before sending the request. | 15 // before sending the request. |
| 19 const int kDataCompleteWaitSeconds = 2; | 16 const int kDataCompleteWaitSeconds = 2; |
| 20 } // namespace | 17 } // namespace |
| 21 | 18 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 195 << request_->url().possibly_invalid_spec(); | 192 << request_->url().possibly_invalid_spec(); |
| 196 return false; | 193 return false; |
| 197 } | 194 } |
| 198 | 195 |
| 199 // Registers a callback with the data provider. The first call to Register | 196 // Registers a callback with the data provider. The first call to Register |
| 200 // will create a singleton data provider and it will be deleted when the last | 197 // will create a singleton data provider and it will be deleted when the last |
| 201 // callback is removed with Unregister. | 198 // callback is removed with Unregister. |
| 202 wifi_data_provider_manager_ = | 199 wifi_data_provider_manager_ = |
| 203 WifiDataProviderManager::Register(&wifi_data_update_callback_); | 200 WifiDataProviderManager::Register(&wifi_data_update_callback_); |
| 204 | 201 |
| 205 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( | 202 base::MessageLoop::current()->PostDelayedTask( |
| 206 FROM_HERE, base::Bind(&NetworkLocationProvider::RequestPosition, | 203 FROM_HERE, |
| 207 weak_factory_.GetWeakPtr()), | 204 base::Bind(&NetworkLocationProvider::RequestPosition, |
| 205 weak_factory_.GetWeakPtr()), |
| 208 base::TimeDelta::FromSeconds(kDataCompleteWaitSeconds)); | 206 base::TimeDelta::FromSeconds(kDataCompleteWaitSeconds)); |
| 209 // Get the wifi data. | 207 // Get the wifi data. |
| 210 is_wifi_data_complete_ = wifi_data_provider_manager_->GetData(&wifi_data_); | 208 is_wifi_data_complete_ = wifi_data_provider_manager_->GetData(&wifi_data_); |
| 211 if (is_wifi_data_complete_) | 209 if (is_wifi_data_complete_) |
| 212 OnWifiDataUpdated(); | 210 OnWifiDataUpdated(); |
| 213 return true; | 211 return true; |
| 214 } | 212 } |
| 215 | 213 |
| 216 void NetworkLocationProvider::OnWifiDataUpdated() { | 214 void NetworkLocationProvider::OnWifiDataUpdated() { |
| 217 DCHECK(CalledOnValidThread()); | 215 DCHECK(CalledOnValidThread()); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 } | 267 } |
| 270 request_->MakeRequest(access_token_, wifi_data_, | 268 request_->MakeRequest(access_token_, wifi_data_, |
| 271 wifi_data_updated_timestamp_); | 269 wifi_data_updated_timestamp_); |
| 272 } | 270 } |
| 273 | 271 |
| 274 bool NetworkLocationProvider::IsStarted() const { | 272 bool NetworkLocationProvider::IsStarted() const { |
| 275 return wifi_data_provider_manager_ != NULL; | 273 return wifi_data_provider_manager_ != NULL; |
| 276 } | 274 } |
| 277 | 275 |
| 278 } // namespace content | 276 } // namespace content |
| OLD | NEW |