Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/http/tests/feature-policy/fullscreen-enabledforself.php |
| diff --git a/third_party/WebKit/LayoutTests/http/tests/feature-policy/fullscreen-enabledforself.php b/third_party/WebKit/LayoutTests/http/tests/feature-policy/fullscreen-enabledforself.php |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..d4129da8cdc6f0c57a3f0e60125a0ef2fa81da30 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/http/tests/feature-policy/fullscreen-enabledforself.php |
| @@ -0,0 +1,49 @@ |
| +<?php |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +// This test ensures that fullscreen feature when enabled for self only works |
| +// in the same orgin but not cross origins when allowfullscreen is set. No |
| +// iframe may call it when allowfullscreen is not set. |
| + |
| +Header("Feature-Policy: {\"fullscreen\": [\"self\"]}"); |
| +?> |
| + |
| +<!DOCTYPE html> |
| +<script src="../../resources/testharness.js"></script> |
| +<script src="../../resources/testharnessreport.js"></script> |
| +<iframe id="f1"></iframe> |
| +<iframe id="f2" allowfullscreen></iframe> |
| +<script> |
| +var srcs = [ |
| + "resources/feature-policy-fullscreen.html", |
| + "http://localhost:8000/feature-policy/resources/feature-policy-fullscreen.html" |
| +]; |
| +var f1 = document.getElementById('f1'); |
| +var f2 = document.getElementById('f2'); |
| + |
| +function loadFrames(iframe) { |
| + for (var src of srcs) { |
| + promise_test(function(t) { |
| + iframe.src = src; |
| + return new Promise(function(resolve, reject) { |
| + window.addEventListener('message', function(e) { |
| + resolve(e.data); |
| + }, { once: true }); |
| + }).then(function(data) { |
| + if (src === srcs[0] && iframe.id === "f2") { |
|
iclelland
2016/12/05 16:27:34
Does this mean that with fullscreen:self, the fram
lunalu1
2016/12/05 20:09:12
Done.
|
| + assert_true(data.enabled, 'Document.fullscreenEnabled:'); |
| + assert_equals(data.type, 'change', 'Document.requestFullscreen():'); |
| + } else { |
| + assert_false(data.enabled, 'Document.fullscreenEnabled:'); |
| + assert_equals(data.type, 'error', 'Document.requestFullscreen():'); |
| + } |
| + }); |
| + }, 'Fullscreen enabled for self on URL: ' + src + ' with allowfullscreen = ' + iframe.allowFullscreen); |
| + } |
| +} |
| + |
| +loadFrames(f1); |
| +loadFrames(f2); |
| +</script> |