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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/dom/Geolocation/disconnected-frame-permission-denied.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 a request is made on a Geolocation object, permissi on is denied and its Frame is disconnected before a callback is made, no callbac ks are made.");
11
12 var error;
13 var iframe = document.createElement('iframe');
14
15 function onIframeLoaded() {
16 iframeGeolocation = iframe.contentWindow.navigator.geolocation;
17 iframeGeolocation.getCurrentPosition(function() {
18 testFailed('Success callback invoked unexpectedly');
19 finishJSTest();
20 }, function(e) {
21 error = e;
22 shouldBe('error.code', 'error.PERMISSION_DENIED');
23 shouldBe('error.message', '"User denied Geolocation"');
24 debug('');
25 iframe.src = 'data:text/html,This frame should be visible when the test completes';
26 });
27 }
28
29 function onIframeUnloaded() {
30 // Make another request, with permission already denied.
31 iframeGeolocation.getCurrentPosition(function () {
32 testFailed('Success callback invoked unexpectedly');
33 finishJSTest();
34 }, function(e) {
35 testFailed('Error callback invoked unexpectedly');
36 finishJSTest();
37 });
38 setTimeout(function() {
39 testPassed('No callbacks invoked');
40 finishJSTest();
41 }, 100);
42 }
43
44
45 geolocationServiceMock.then(mock => {
46 // Prime the Geolocation instance by denying permission. This makes sure tha t we execute the
47 // same code path for both preemptive and non-preemptive permissions policie s.
48 mock.setGeolocationPermission(false);
49 mock.setGeolocationPosition(51.478, -0.166, 100);
50
51 iframe.src = 'resources/disconnected-frame-inner.html';
52 document.body.appendChild(iframe);
53 });
54
55 window.jsTestIsAsync = true;
56 </script>
57 </body>
58 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698