Index: third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/cached-position-called-once.js |
diff --git a/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/cached-position-called-once.js b/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/cached-position-called-once.js |
index 41b7d0a6d164d9a2fe2e5bd6b46c72b8ced64a91..b529edf2ef82c88aa16f2fb4ae71bd5f0b0814b9 100644 |
--- a/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/cached-position-called-once.js |
+++ b/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/cached-position-called-once.js |
@@ -34,11 +34,17 @@ function getPosition(milliseconds) { |
setTimeout(fn, milliseconds); |
} |
-// The test terminates at the 3rd reported callback. If the bug still exists |
-// this happens after the 2nd call to getCurrentPosition, one of them is a |
-// repeat of the first. |
-getPosition(0); |
-getPosition(100); |
-getPosition(200); |
+// Make a geolocation request to populate the cached value so requests with a |
+// timeout of 0 can succeed. |
+navigator.geolocation.getCurrentPosition(function(position) { |
+ // The test terminates at the 3rd reported callback. If the bug still exists |
+ // this happens after the 2nd call to getCurrentPosition, one of them is a |
+ // repeat of the first. |
+ getPosition(0); |
+ getPosition(100); |
+ getPosition(200); |
+}, function(error) { |
+ testFailed('Error callback invoked unexpectedly'); |
+}); |
window.jsTestIsAsync = true; |