Index: third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/permission-denied-already-clear-watch.js |
diff --git a/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/permission-denied-already-clear-watch.js b/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/permission-denied-already-clear-watch.js |
index a4938e9593a059178f038bdd5ac24ee1deebd3eb..a5e5f5cd294333545e7843e755db3394351a182c 100644 |
--- a/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/permission-denied-already-clear-watch.js |
+++ b/third_party/WebKit/LayoutTests/fast/dom/Geolocation/script-tests/permission-denied-already-clear-watch.js |
@@ -1,39 +1,41 @@ |
description("Tests that when Geolocation permission has been denied prior to a call to watchPosition, and the watch is cleared in the error callback, there is no crash. This a regression test for https://bugs.webkit.org/show_bug.cgi?id=32111."); |
-if (!window.testRunner || !window.internals) |
- debug('This test can not run without testRunner or internals'); |
+if (!window.testRunner || !window.mojo) |
+ debug('This test can not run without testRunner or mojo'); |
-internals.setGeolocationClientMock(document); |
+var error; |
-// Prime the Geolocation instance by denying permission. |
-internals.setGeolocationPermission(document, false); |
-internals.setGeolocationPosition(document, 51.478, -0.166, 100); |
+geolocationServiceMock.then(mock => { |
-var error; |
-navigator.geolocation.getCurrentPosition(function(p) { |
- testFailed('Success callback invoked unexpectedly'); |
- finishJSTest(); |
-}, function(e) { |
- error = e; |
- shouldBe('error.code', 'error.PERMISSION_DENIED'); |
- shouldBe('error.message', '"User denied Geolocation"'); |
- debug(''); |
- continueTest(); |
-}); |
+ // Prime the Geolocation instance by denying permission. |
+ mock.setGeolocationPermission(false); |
+ mock.setGeolocationPosition(51.478, -0.166, 100); |
-function continueTest() |
-{ |
- // Make another request, with permission already denied. |
- var watchId = navigator.geolocation.watchPosition(function(p) { |
+ navigator.geolocation.getCurrentPosition(function(p) { |
testFailed('Success callback invoked unexpectedly'); |
finishJSTest(); |
}, function(e) { |
error = e; |
shouldBe('error.code', 'error.PERMISSION_DENIED'); |
shouldBe('error.message', '"User denied Geolocation"'); |
- navigator.geolocation.clearWatch(watchId); |
- window.setTimeout(finishJSTest, 0); |
+ debug(''); |
+ continueTest(); |
}); |
-} |
+ |
+ function continueTest() |
+ { |
+ // Make another request, with permission already denied. |
+ var watchId = navigator.geolocation.watchPosition(function(p) { |
+ testFailed('Success callback invoked unexpectedly'); |
+ finishJSTest(); |
+ }, function(e) { |
+ error = e; |
+ shouldBe('error.code', 'error.PERMISSION_DENIED'); |
+ shouldBe('error.message', '"User denied Geolocation"'); |
+ navigator.geolocation.clearWatch(watchId); |
+ window.setTimeout(finishJSTest, 0); |
+ }); |
+ } |
+}); |
window.jsTestIsAsync = true; |