| Index: third_party/WebKit/LayoutTests/http/tests/fullscreen/full-screen-enabled.html
|
| diff --git a/third_party/WebKit/LayoutTests/http/tests/fullscreen/full-screen-enabled.html b/third_party/WebKit/LayoutTests/http/tests/fullscreen/full-screen-enabled.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7ace77e1b903e75142c3da18bf2bf9de7291c957
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/http/tests/fullscreen/full-screen-enabled.html
|
| @@ -0,0 +1,54 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| + <head>
|
| + <meta charset="utf-8">
|
| + <title>fullscreenEnabled test</title>
|
| + <script src="../resources/testharness.js"></script>
|
| + <script src="../resources/testharnessreport.js"></script>
|
| + </head>
|
| + <body>
|
| + <div>This tests the <code>fullscreenEnabled</code> property laid out in section 4 of the W3C
|
| + <a href="http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html">Full Screen API</a></div>
|
| + <iframe src="resources/report-full-screen-enabled.html" name="same-origin-default"></iframe>
|
| + <iframe src="resources/report-full-screen-enabled.html" allowfullscreen name="same-origin-allow"></iframe>
|
| + <iframe src="http://localhost:8000/fullscreen/resources/report-full-screen-enabled.html" name="cross-origin-default"></iframe>
|
| + <iframe src="http://localhost:8000/fullscreen/resources/report-full-screen-enabled.html" allowfullscreen name="cross-origin-allow"></iframe>
|
| + <script>
|
| +// Fullscreen is enabled in same-origin frames regardless of allowfullscreen,
|
| +// but must be explicitly enabled in cross-origin frames.
|
| +var expectations = {
|
| + "same-origin-default": true,
|
| + "same-origin-allow": true,
|
| + "cross-origin-default": false,
|
| + "cross-origin-allow": true
|
| +};
|
| +
|
| +async_test((t) => {
|
| + // When a message is received from a child frame, ensure that the report
|
| + // matches the expectations.
|
| + window.addEventListener('message', (e) => {
|
| + if (e.data.report && e.data.report.api == "fullscreen") {
|
| + if (e.data.report.frame in expectations) {
|
| + t.step(() => {
|
| + assert_equals(e.data.report.enabled,
|
| + expectations[e.data.report.frame],
|
| + e.data.report.frame + " frame webkitFullscreenEnabled"); });
|
| + delete expectations[e.data.report.frame];
|
| + // When all child frames have reported, the test is complete.
|
| + if (Object.keys(expectations).length == 0)
|
| + t.done();
|
| + }
|
| + }
|
| + });
|
| +
|
| + // Trigger the child frames to report as soon as their content is loaded.
|
| + document.querySelectorAll('iframe').forEach((elem) => {
|
| + elem.addEventListener('load', () => {
|
| + elem.contentWindow.postMessage({"action": "report", "frame": elem.name},
|
| + "*");
|
| + });
|
| + });
|
| +});
|
| + </script>
|
| + </body>
|
| +</html>
|
|
|