Chromium Code Reviews| Index: content/public/browser/geolocation.h |
| diff --git a/content/public/browser/geolocation.h b/content/public/browser/geolocation.h |
| index 23868e906af2e0d2df1e0e20c5332d6a8a64be48..583eca56a1ee6953fb52cadfb6af4aa5eb322309 100644 |
| --- a/content/public/browser/geolocation.h |
| +++ b/content/public/browser/geolocation.h |
| @@ -13,16 +13,40 @@ namespace content { |
| struct Geoposition; |
| +typedef base::Callback<void(const Geoposition&)> GeolocationUpdateCallback; |
| + |
| // Overrides the current location for testing. This function may be called on |
| // any thread. The completion callback will be invoked asynchronously on the |
| // calling thread when the override operation is completed. |
| -// This should be used instead of a mock location provider for a simpler way |
| -// to provide fake location results when not testing the innards of the |
| -// geolocation code. |
| +// |
| +// This function allows the current location to be faked without having to |
| +// manually instantiate a GeolocationProvider backed by a MockLocationProvider |
| +// that serves a fake location. |
| +// |
| +// Do not use this function in unit tests. The function instantiates the |
| +// singleton geolocation stack in the background and manipulates it to report |
| +// a fake location. Neither step can be undone, breaking unit test isolation |
| +// (crbug.com/125931). |
|
jam
2012/05/02 20:59:04
it's a bit odd adding this warning when existing t
|
| void CONTENT_EXPORT OverrideLocationForTesting( |
| const Geoposition& position, |
| const base::Closure& completion_callback); |
| +// Overrides the current location for testing. This function affects only |
| +// callbacks requested through RequestLocationUpdate() in the future. |
| +// |
| +// Ownership of the |position| argument is taken. |
| +// |
| +// This function may be used in unit tests. It does not bring up the singleton |
| +// geolocation stack and its effects can be fully undone by calling again with |
| +// a NULL argument. |
| +void CONTENT_EXPORT OverrideCallbackLocationForTesting(Geoposition* position); |
|
jam
2012/05/02 20:59:04
two ways to override a location is not good. let's
|
| + |
| +// Requests a one-time callback when the next location update becomes available. |
| +// This function may be called on any thread. The callback will be invoked on |
| +// the calling thread. |
| +void CONTENT_EXPORT RequestLocationUpdate( |
| + const GeolocationUpdateCallback& callback); |
| + |
| } // namespace content |
| #endif // CONTENT_PUBLIC_BROWSER_GEOLOCATION_H_ |