OLD | NEW |
(Empty) | |
| 1 <?php |
| 2 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 3 // Use of this source code is governed by a BSD-style license that can be |
| 4 // found in the LICENSE file. |
| 5 |
| 6 // This test ensures that fullscreen feature when enabled for self only works |
| 7 // in the same orgin but not cross origins when allowfullscreen is set. No |
| 8 // iframe may call it when allowfullscreen is not set. |
| 9 |
| 10 Header("Feature-Policy: {\"fullscreen\": [\"self\"]}"); |
| 11 ?> |
| 12 |
| 13 <!DOCTYPE html> |
| 14 <script src="../../resources/testharness.js"></script> |
| 15 <script src="../../resources/testharnessreport.js"></script> |
| 16 <iframe id="f1"></iframe> |
| 17 <iframe id="f2" allowfullscreen></iframe> |
| 18 <script> |
| 19 var srcs = [ |
| 20 "resources/feature-policy-fullscreen.html", |
| 21 "http://localhost:8000/feature-policy/resources/feature-policy-fullscreen.html
" |
| 22 ]; |
| 23 var f1 = document.getElementById('f1'); |
| 24 var f2 = document.getElementById('f2'); |
| 25 |
| 26 function loadFrames(iframe) { |
| 27 for (var src of srcs) { |
| 28 promise_test(function(t) { |
| 29 iframe.src = src; |
| 30 return new Promise(function(resolve, reject) { |
| 31 window.addEventListener('message', function(e) { |
| 32 resolve(e.data); |
| 33 }, { once: true }); |
| 34 }).then(function(data) { |
| 35 if (src === srcs[0] || iframe.id === "f2") { |
| 36 assert_true(data.enabled, 'Document.fullscreenEnabled:'); |
| 37 assert_equals(data.type, 'change', 'Document.requestFullscreen():'); |
| 38 } else { |
| 39 assert_false(data.enabled, 'Document.fullscreenEnabled:'); |
| 40 assert_equals(data.type, 'error', 'Document.requestFullscreen():'); |
| 41 } |
| 42 }); |
| 43 }, 'Fullscreen enabled for self on URL: ' + src + ' with allowfullscreen = '
+ iframe.allowFullscreen); |
| 44 } |
| 45 } |
| 46 |
| 47 loadFrames(f1); |
| 48 loadFrames(f2); |
| 49 </script> |
OLD | NEW |