| Index: chrome/browser/chromeos/geolocation/simple_geolocation_request.h
|
| diff --git a/chrome/browser/chromeos/geolocation/simple_geolocation_request.h b/chrome/browser/chromeos/geolocation/simple_geolocation_request.h
|
| deleted file mode 100644
|
| index f9b3c1aa92043933c9a7cb80d2ce8c701f6fc6c5..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/geolocation/simple_geolocation_request.h
|
| +++ /dev/null
|
| @@ -1,125 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_
|
| -#define CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/callback.h"
|
| -#include "base/compiler_specific.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/threading/thread_checker.h"
|
| -#include "base/timer/timer.h"
|
| -#include "chrome/browser/chromeos/geolocation/geoposition.h"
|
| -#include "net/url_request/url_fetcher.h"
|
| -#include "net/url_request/url_fetcher_delegate.h"
|
| -#include "url/gurl.h"
|
| -
|
| -namespace net {
|
| -class URLRequestContextGetter;
|
| -}
|
| -
|
| -namespace chromeos {
|
| -
|
| -// Sends request to a server to get local geolocation information.
|
| -// It performs formatting of the request and interpretation of the response.
|
| -// Request is owned and destroyed by caller (usually SimpleGeolocationProvider).
|
| -// - If error occurs, request is retried until timeout.
|
| -// - On successul response, callback is called.
|
| -// - On timeout, callback with last (failed) position is called.
|
| -// (position.status is set to STATUS_TIMEOUT.)
|
| -// - If request is destroyed while callback has not beed called yet, request
|
| -// is silently cancelled.
|
| -class SimpleGeolocationRequest : private net::URLFetcherDelegate {
|
| - public:
|
| - // Called when a new geo geolocation information is available.
|
| - // The second argument indicates whether there was a server error or not.
|
| - // It is true when there was a server or network error - either no response
|
| - // or a 500 error code.
|
| - typedef base::Callback<void(const Geoposition& /* position*/,
|
| - bool /* server_error */,
|
| - const base::TimeDelta elapsed)> ResponseCallback;
|
| -
|
| - // |url| is the server address to which the request wil be sent.
|
| - // |timeout| retry request on error until timeout.
|
| - SimpleGeolocationRequest(net::URLRequestContextGetter* url_context_getter,
|
| - const GURL& service_url,
|
| - base::TimeDelta timeout);
|
| -
|
| - virtual ~SimpleGeolocationRequest();
|
| -
|
| - // Initiates request.
|
| - // Note: if request object is destroyed before callback is called,
|
| - // request will be silently cancelled.
|
| - void MakeRequest(const ResponseCallback& callback);
|
| -
|
| - void set_retry_sleep_on_server_error_for_testing(
|
| - const base::TimeDelta value) {
|
| - retry_sleep_on_server_error_ = value;
|
| - }
|
| -
|
| - void set_retry_sleep_on_bad_response_for_testing(
|
| - const base::TimeDelta value) {
|
| - retry_sleep_on_bad_response_ = value;
|
| - }
|
| -
|
| - private:
|
| - // net::URLFetcherDelegate
|
| - virtual void OnURLFetchComplete(const net::URLFetcher* source) override;
|
| -
|
| - // Start new request.
|
| - void StartRequest();
|
| -
|
| - // Schedules retry.
|
| - void Retry(bool server_error);
|
| -
|
| - // Run callback and destroy "this".
|
| - void ReplyAndDestroySelf(const base::TimeDelta elapsed, bool server_error);
|
| -
|
| - // Called by timeout_timer_ .
|
| - void OnTimeout();
|
| -
|
| - scoped_refptr<net::URLRequestContextGetter> url_context_getter_;
|
| -
|
| - // Service URL from constructor arguments.
|
| - const GURL service_url_;
|
| -
|
| - ResponseCallback callback_;
|
| -
|
| - // Actual URL with parameters.
|
| - GURL request_url_;
|
| -
|
| - scoped_ptr<net::URLFetcher> url_fetcher_;
|
| -
|
| - // When request was actually started.
|
| - base::Time request_started_at_;
|
| -
|
| - base::TimeDelta retry_sleep_on_server_error_;
|
| -
|
| - base::TimeDelta retry_sleep_on_bad_response_;
|
| -
|
| - const base::TimeDelta timeout_;
|
| -
|
| - // Pending retry.
|
| - base::OneShotTimer<SimpleGeolocationRequest> request_scheduled_;
|
| -
|
| - // Stop request on timeout.
|
| - base::OneShotTimer<SimpleGeolocationRequest> timeout_timer_;
|
| -
|
| - // Number of retry attempts.
|
| - unsigned retries_;
|
| -
|
| - // This is updated on each retry.
|
| - Geoposition position_;
|
| -
|
| - // Creation and destruction should happen on the same thread.
|
| - base::ThreadChecker thread_checker_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(SimpleGeolocationRequest);
|
| -};
|
| -
|
| -} // namespace chromeos
|
| -
|
| -#endif // CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_
|
|
|