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

Unified Diff: third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-timing-manual.html

Issue 2564543002: Add tests for fullscreenchange and fullscreenerror event timing (Closed)
Patch Set: assert resize timing Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-timing-manual.html
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-timing-manual.html b/third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-timing-manual.html
new file mode 100644
index 0000000000000000000000000000000000000000..f92b4f6292898d177bef6624427c374b31f1a074
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/imported/wpt/fullscreen/api/element-request-fullscreen-timing-manual.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<title>Element#requestFullscreen() timing</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../trusted-click.js"></script>
+<div id="log"></div>
+<script>
+async_test(t => {
+ trusted_request(document.querySelector('div'));
+
+ // If fullscreenchange is an animation frame event, then animation frame
+ // callbacks should be run after it is fired, before the timer callback.
+ // The resize event should fire before the fullscreenchange event.
+ const events = [];
+ const callback = t.step_func(event => {
+ events.push(event.type);
+ if (event.type == 'fullscreenchange') {
+ setTimeout(t.unreached_func('timer callback'));
+ requestAnimationFrame(t.step_func_done(() => {
+ assert_array_equals(events, ['resize', 'fullscreenchange'], 'event order');
+ }));
+ }
+ });
+ document.onfullscreenchange = window.onresize = callback;
+}, 'Timing of fullscreenchange and resize events');
+
+async_test(t => {
+ document.createElement('a').requestFullscreen();
+
+ // If fullscreenerror is an animation frame event, then animation frame
+ // callbacks should be run after it is fired, before the timer callback.
+ document.onfullscreenerror = t.step_func(() => {
+ setTimeout(t.unreached_func('timer callback'));
+ requestAnimationFrame(t.step_func_done());
+ });
+}, 'Timing of fullscreenerror event');
+</script>

Powered by Google App Engine
This is Rietveld 408576698