From d2862094ec32c8ad1dac733e283159bb5e29ed49 Mon Sep 17 00:00:00 2001 From: Alan Jeffrey Date: Fri, 1 Feb 2019 17:15:14 -0600 Subject: [PATCH] Add reftests for fullscreen mode --- components/script/dom/document.rs | 16 +++++++- tests/wpt/mozilla/meta/MANIFEST.json | 41 +++++++++++++++++++ .../mozilla/fullscreen/reftests/__dir__.ini | 1 + .../reftests/fullscreen-hides-others.html.ini | 3 ++ .../reftests/fullscreen-baseline-ref.html | 15 +++++++ .../reftests/fullscreen-baseline.html | 18 ++++++++ .../reftests/fullscreen-hides-others.html | 31 ++++++++++++++ 7 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/__dir__.ini create mode 100644 tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/fullscreen-hides-others.html.ini create mode 100644 tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline-ref.html create mode 100644 tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline.html create mode 100644 tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-hides-others.html diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index f5132d1de29..4a10298b7a1 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -3164,8 +3164,20 @@ impl Document { if !pending.fullscreen_element_ready_check() { error = true; } - // TODO fullscreen is supported - // TODO This algorithm is allowed to request fullscreen. + + if PREFS + .get("dom.fullscreen.test") + .as_boolean() + .unwrap_or(false) + { + // For reftests we just take over the current window, + // and don't try to really enter fullscreen. + info!("Tests don't really enter fullscreen."); + } else { + // TODO fullscreen is supported + // TODO This algorithm is allowed to request fullscreen. + warn!("Fullscreen not supported yet"); + } // Step 5 Parallel start diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 22b998a54ce..7e946f61fb6 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -6965,6 +6965,30 @@ {} ] ], + "mozilla/fullscreen/reftests/fullscreen-baseline.html": [ + [ + "/_mozilla/mozilla/fullscreen/reftests/fullscreen-baseline.html", + [ + [ + "/_mozilla/mozilla/fullscreen/reftests/fullscreen-baseline-ref.html", + "==" + ] + ], + {} + ] + ], + "mozilla/fullscreen/reftests/fullscreen-hides-others.html": [ + [ + "/_mozilla/mozilla/fullscreen/reftests/fullscreen-hides-others.html", + [ + [ + "/_mozilla/mozilla/fullscreen/reftests/fullscreen-baseline-ref.html", + "==" + ] + ], + {} + ] + ], "mozilla/iframe/resize_after_load.html": [ [ "/_mozilla/mozilla/iframe/resize_after_load.html", @@ -10335,6 +10359,11 @@ {} ] ], + "mozilla/fullscreen/reftests/fullscreen-baseline-ref.html": [ + [ + {} + ] + ], "mozilla/globals/empty.html": [ [ {} @@ -19345,6 +19374,18 @@ "1e3246f791df31532c32a816a14e4e3959582146", "testharness" ], + "mozilla/fullscreen/reftests/fullscreen-baseline-ref.html": [ + "7272fa8b6e84979d5fad66bfe8c906d6e714cdb4", + "support" + ], + "mozilla/fullscreen/reftests/fullscreen-baseline.html": [ + "80503a9befe86e8cbd109eaf870f41c92a1952b2", + "reftest" + ], + "mozilla/fullscreen/reftests/fullscreen-hides-others.html": [ + "83a9abd907fc899dcfb60bab24691feb25878f7c", + "reftest" + ], "mozilla/getBoundingClientRect.html": [ "a8e92d836330126f6ccc4a13354368e223d260da", "testharness" diff --git a/tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/__dir__.ini b/tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/__dir__.ini new file mode 100644 index 00000000000..d2259b78e4e --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/__dir__.ini @@ -0,0 +1 @@ +prefs: ["dom.fullscreen.test:true"] diff --git a/tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/fullscreen-hides-others.html.ini b/tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/fullscreen-hides-others.html.ini new file mode 100644 index 00000000000..7396f085c15 --- /dev/null +++ b/tests/wpt/mozilla/meta/mozilla/fullscreen/reftests/fullscreen-hides-others.html.ini @@ -0,0 +1,3 @@ +[fullscreen-hides-others.html] + type: reftest + expected: FAIL diff --git a/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline-ref.html b/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline-ref.html new file mode 100644 index 00000000000..7272fa8b6e8 --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline-ref.html @@ -0,0 +1,15 @@ + + + + Baseline fullscreen reference + + + +
0
+ diff --git a/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline.html b/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline.html new file mode 100644 index 00000000000..80503a9befe --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-baseline.html @@ -0,0 +1,18 @@ + + + + Baseline fullscreen + + + + +
-1
+
0
+
1
+ + diff --git a/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-hides-others.html b/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-hides-others.html new file mode 100644 index 00000000000..83a9abd907f --- /dev/null +++ b/tests/wpt/mozilla/tests/mozilla/fullscreen/reftests/fullscreen-hides-others.html @@ -0,0 +1,31 @@ + + + + Elements which try to get in front of fullscreen + + + + +
-4
+
-3
+
-2
+
-1
+
0
+
1
+
2
+
3
+
4
+ +