Index: content/public/browser/geolocation.h |
diff --git a/content/public/browser/geolocation.h b/content/public/browser/geolocation.h |
index 23868e906af2e0d2df1e0e20c5332d6a8a64be48..673b275c9f94c2aad6cc81198b9c3085a5c05a60 100644 |
--- a/content/public/browser/geolocation.h |
+++ b/content/public/browser/geolocation.h |
@@ -13,16 +13,30 @@ 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). |
void CONTENT_EXPORT OverrideLocationForTesting( |
const Geoposition& position, |
const base::Closure& completion_callback); |
+// 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_ |