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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/Geolocation/delayed-permission-allowed-for-multiple-requests.html

Issue 2671933003: Move Geolocation out from fast/dom. (Closed)
Patch Set: . Created 3 years, 10 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
(Empty)
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../../../resources/js-test.js"></script>
5 <script src="../../../resources/mojo-helpers.js"></script>
6 <script src="resources/geolocation-mock.js"></script>
7 </head>
8 <body>
9 <script>
10 description("Tests that when multiple requests are waiting for permission, no ca llbacks are invoked until permission is allowed.");
11
12 geolocationServiceMock.then(mock => {
13 mock.setGeolocationPosition(51.478, -0.166, 100);
14
15 var permissionSet = false;
16
17 function allowPermission() {
18 permissionSet = true;
19 mock.setGeolocationPermission(true);
20 }
21
22 var watchCallbackInvoked = false;
23 var oneShotCallbackInvoked = false;
24
25 navigator.geolocation.watchPosition(function() {
26 if (permissionSet) {
27 testPassed('Success callback invoked');
28 watchCallbackInvoked = true;
29 maybeFinishTest();
30 return;
31 }
32 testFailed('Success callback invoked unexpectedly');
33 finishJSTest();
34 }, function(err) {
35 testFailed('Error callback invoked unexpectedly');
36 finishJSTest();
37 });
38
39 navigator.geolocation.getCurrentPosition(function() {
40 if (permissionSet) {
41 testPassed('Success callback invoked');
42 oneShotCallbackInvoked = true;
43 maybeFinishTest();
44 return;
45 }
46 testFailed('Success callback invoked unexpectedly');
47 finishJSTest();
48 }, function(err) {
49 testFailed('Error callback invoked unexpectedly');
50 finishJSTest();
51 });
52
53 window.setTimeout(allowPermission, 100);
54
55 function maybeFinishTest() {
56 if (watchCallbackInvoked && oneShotCallbackInvoked)
57 finishJSTest();
58 }
59 });
60
61 window.jsTestIsAsync = true;
62 </script>
63 </body>
64 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698