OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chromeos/timezone/timezone_request.h" | 5 #include "chromeos/timezone/timezone_request.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/json/json_reader.h" | 9 #include "base/json/json_reader.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 } | 110 } |
111 } | 111 } |
112 | 112 |
113 void RecordUmaResult(TimeZoneRequestResult result, unsigned retries) { | 113 void RecordUmaResult(TimeZoneRequestResult result, unsigned retries) { |
114 UMA_HISTOGRAM_ENUMERATION( | 114 UMA_HISTOGRAM_ENUMERATION( |
115 "TimeZone.TimeZoneRequest.Result", result, TIMEZONE_REQUEST_RESULT_COUNT); | 115 "TimeZone.TimeZoneRequest.Result", result, TIMEZONE_REQUEST_RESULT_COUNT); |
116 UMA_HISTOGRAM_SPARSE_SLOWLY("TimeZone.TimeZoneRequest.Retries", retries); | 116 UMA_HISTOGRAM_SPARSE_SLOWLY("TimeZone.TimeZoneRequest.Retries", retries); |
117 } | 117 } |
118 | 118 |
119 // Creates the request url to send to the server. | 119 // Creates the request url to send to the server. |
| 120 // |sensor| if this location was determined using hardware sensor. |
120 GURL TimeZoneRequestURL(const GURL& url, | 121 GURL TimeZoneRequestURL(const GURL& url, |
121 const Geoposition& geoposition, | 122 const Geoposition& geoposition, |
122 bool sensor) { | 123 bool sensor) { |
123 std::string query(url.query()); | 124 std::string query(url.query()); |
124 query += base::StringPrintf( | 125 query += base::StringPrintf( |
125 "%s=%f,%f", kLocationString, geoposition.latitude, geoposition.longitude); | 126 "%s=%f,%f", kLocationString, geoposition.latitude, geoposition.longitude); |
126 if (url == DefaultTimezoneProviderURL()) { | 127 if (url == DefaultTimezoneProviderURL()) { |
127 std::string api_key = google_apis::GetAPIKey(); | 128 std::string api_key = google_apis::GetAPIKey(); |
128 if (!api_key.empty()) { | 129 if (!api_key.empty()) { |
129 query += "&"; | 130 query += "&"; |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 } | 299 } |
299 | 300 |
300 GURL DefaultTimezoneProviderURL() { | 301 GURL DefaultTimezoneProviderURL() { |
301 return GURL(kDefaultTimezoneProviderUrl); | 302 return GURL(kDefaultTimezoneProviderUrl); |
302 } | 303 } |
303 | 304 |
304 TimeZoneRequest::TimeZoneRequest( | 305 TimeZoneRequest::TimeZoneRequest( |
305 net::URLRequestContextGetter* url_context_getter, | 306 net::URLRequestContextGetter* url_context_getter, |
306 const GURL& service_url, | 307 const GURL& service_url, |
307 const Geoposition& geoposition, | 308 const Geoposition& geoposition, |
308 bool sensor, | |
309 base::TimeDelta retry_timeout) | 309 base::TimeDelta retry_timeout) |
310 : url_context_getter_(url_context_getter), | 310 : url_context_getter_(url_context_getter), |
311 service_url_(service_url), | 311 service_url_(service_url), |
312 geoposition_(geoposition), | 312 geoposition_(geoposition), |
313 sensor_(sensor), | |
314 retry_timeout_abs_(base::Time::Now() + retry_timeout), | 313 retry_timeout_abs_(base::Time::Now() + retry_timeout), |
315 retry_sleep_on_server_error_(base::TimeDelta::FromSeconds( | 314 retry_sleep_on_server_error_(base::TimeDelta::FromSeconds( |
316 kResolveTimeZoneRetrySleepOnServerErrorSeconds)), | 315 kResolveTimeZoneRetrySleepOnServerErrorSeconds)), |
317 retry_sleep_on_bad_response_(base::TimeDelta::FromSeconds( | 316 retry_sleep_on_bad_response_(base::TimeDelta::FromSeconds( |
318 kResolveTimeZoneRetrySleepBadResponseSeconds)), | 317 kResolveTimeZoneRetrySleepBadResponseSeconds)), |
319 retries_(0) { | 318 retries_(0) { |
320 } | 319 } |
321 | 320 |
322 TimeZoneRequest::~TimeZoneRequest() { | 321 TimeZoneRequest::~TimeZoneRequest() { |
323 DCHECK(thread_checker_.CalledOnValidThread()); | 322 DCHECK(thread_checker_.CalledOnValidThread()); |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
422 dstOffset, | 421 dstOffset, |
423 rawOffset, | 422 rawOffset, |
424 timeZoneId.c_str(), | 423 timeZoneId.c_str(), |
425 timeZoneName.c_str(), | 424 timeZoneName.c_str(), |
426 error_message.c_str(), | 425 error_message.c_str(), |
427 (unsigned)status, | 426 (unsigned)status, |
428 (status < arraysize(status2string) ? status2string[status] : "unknown")); | 427 (status < arraysize(status2string) ? status2string[status] : "unknown")); |
429 } | 428 } |
430 | 429 |
431 } // namespace chromeos | 430 } // namespace chromeos |
OLD | NEW |