Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Side by Side Diff: chrome/browser/chromeos/geolocation/simple_geolocation_request.h

Issue 289313005: Add SimpleGeolocationTest unit test. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_
6 #define CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_ 6 #define CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 const GURL& service_url, 48 const GURL& service_url,
49 base::TimeDelta timeout); 49 base::TimeDelta timeout);
50 50
51 virtual ~SimpleGeolocationRequest(); 51 virtual ~SimpleGeolocationRequest();
52 52
53 // Initiates request. 53 // Initiates request.
54 // Note: if request object is destroyed before callback is called, 54 // Note: if request object is destroyed before callback is called,
55 // request will be silently cancelled. 55 // request will be silently cancelled.
56 void MakeRequest(const ResponseCallback& callback); 56 void MakeRequest(const ResponseCallback& callback);
57 57
58 void set_retry_sleep_on_server_error_for_testing(
59 const base::TimeDelta value) {
60 retry_sleep_on_server_error_ = value;
61 }
62
63 void set_retry_sleep_on_bad_response_for_testing(
64 const base::TimeDelta value) {
65 retry_sleep_on_bad_response_ = value;
66 }
67
58 private: 68 private:
59 // net::URLFetcherDelegate 69 // net::URLFetcherDelegate
60 virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE; 70 virtual void OnURLFetchComplete(const net::URLFetcher* source) OVERRIDE;
61 71
62 // Start new request. 72 // Start new request.
63 void StartRequest(); 73 void StartRequest();
64 74
65 // Schedules retry. 75 // Schedules retry.
66 void Retry(bool server_error); 76 void Retry(bool server_error);
67 77
(...skipping 11 matching lines...) Expand all
79 ResponseCallback callback_; 89 ResponseCallback callback_;
80 90
81 // Actual URL with parameters. 91 // Actual URL with parameters.
82 GURL request_url_; 92 GURL request_url_;
83 93
84 scoped_ptr<net::URLFetcher> url_fetcher_; 94 scoped_ptr<net::URLFetcher> url_fetcher_;
85 95
86 // When request was actually started. 96 // When request was actually started.
87 base::Time request_started_at_; 97 base::Time request_started_at_;
88 98
99 base::TimeDelta retry_sleep_on_server_error_;
100
101 base::TimeDelta retry_sleep_on_bad_response_;
102
89 const base::TimeDelta timeout_; 103 const base::TimeDelta timeout_;
90 104
91 // Pending retry. 105 // Pending retry.
92 base::OneShotTimer<SimpleGeolocationRequest> request_scheduled_; 106 base::OneShotTimer<SimpleGeolocationRequest> request_scheduled_;
93 107
94 // Stop request on timeout. 108 // Stop request on timeout.
95 base::OneShotTimer<SimpleGeolocationRequest> timeout_timer_; 109 base::OneShotTimer<SimpleGeolocationRequest> timeout_timer_;
96 110
97 // Number of retry attempts. 111 // Number of retry attempts.
98 unsigned retries_; 112 unsigned retries_;
99 113
100 // This is updated on each retry. 114 // This is updated on each retry.
101 Geoposition position_; 115 Geoposition position_;
102 116
103 // Creation and destruction should happen on the same thread. 117 // Creation and destruction should happen on the same thread.
104 base::ThreadChecker thread_checker_; 118 base::ThreadChecker thread_checker_;
105 119
106 DISALLOW_COPY_AND_ASSIGN(SimpleGeolocationRequest); 120 DISALLOW_COPY_AND_ASSIGN(SimpleGeolocationRequest);
107 }; 121 };
108 122
109 } // namespace chromeos 123 } // namespace chromeos
110 124
111 #endif // CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_ 125 #endif // CHROME_BROWSER_CHROMEOS_GEOLOCATION_SIMPLE_GEOLOCATION_REQUEST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698