summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/largest-contentful-paint/animated
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:22:09 +0000
commit43a97878ce14b72f0981164f87f2e35e14151312 (patch)
tree620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/largest-contentful-paint/animated
parentInitial commit. (diff)
downloadfirefox-upstream.tar.xz
firefox-upstream.zip
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/largest-contentful-paint/animated')
-rw-r--r--testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-gif.tentative.html27
-rw-r--r--testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-webp.tentative.html27
-rw-r--r--testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image.tentative.html29
-rw-r--r--testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-animated-image.tentative.html30
-rw-r--r--testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-tao-animated-image.tentative.html30
-rw-r--r--testing/web-platform/tests/largest-contentful-paint/animated/observe-non-animated-image.tentative.html27
-rw-r--r--testing/web-platform/tests/largest-contentful-paint/animated/observe-video.tentative.html30
7 files changed, 200 insertions, 0 deletions
diff --git a/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-gif.tentative.html b/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-gif.tentative.html
new file mode 100644
index 0000000000..a2c0d7975a
--- /dev/null
+++ b/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-gif.tentative.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Largest Contentful Paint: observe image.</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/largest-contentful-paint-helpers.js"></script>
+</head>
+<body>
+ <script>
+ promise_test(async () => {
+ assert_implements(window.LargestContentfulPaint,
+ "LargestContentfulPaint is not implemented");
+ const beforeLoad = performance.now();
+ // 136 is the size of the animated GIF up until the first frame.
+ // The trickle pipe delays the response after the first frame by 1 second.
+ const url = window.location.origin +
+ `/images/anim-gr.gif?pipe=trickle(136:d${delay_pipe_value})`;
+ const entry = await load_and_observe(url);
+ // anim-gr.gif is 100 by 50.
+ const size = 100 * 50;
+ checkImage(entry, url, 'image_id', size, beforeLoad, ["animated"]);
+ }, "Same origin animated image is observable and has a first frame.");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-webp.tentative.html b/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-webp.tentative.html
new file mode 100644
index 0000000000..de59d5c5f7
--- /dev/null
+++ b/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image-webp.tentative.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Largest Contentful Paint: observe image.</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/largest-contentful-paint-helpers.js"></script>
+</head>
+<body>
+ <script>
+ promise_test(async () => {
+ assert_implements(window.LargestContentfulPaint,
+ "LargestContentfulPaint is not implemented");
+ const beforeLoad = performance.now();
+ // 142 is the size of the animated WebP up until the first frame.
+ // The trickle pipe delays the response after the first frame by 1 second.
+ const url = window.location.origin +
+ `/images/webp-animated.webp?pipe=trickle(142:d${delay_pipe_value})`;
+ const entry = await load_and_observe(url);
+ // webp-animated.webp is 11 by 29.
+ const size = 11 * 29;
+ checkImage(entry, url, 'image_id', size, beforeLoad, ["animated"]);
+ }, "Same origin animated image is observable and has a first frame.");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image.tentative.html b/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image.tentative.html
new file mode 100644
index 0000000000..cf7d262b0f
--- /dev/null
+++ b/testing/web-platform/tests/largest-contentful-paint/animated/observe-animated-image.tentative.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Largest Contentful Paint: observe image.</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/largest-contentful-paint-helpers.js"></script>
+</head>
+<body>
+ <script>
+ promise_test(async () => {
+ assert_implements(window.LargestContentfulPaint,
+ "LargestContentfulPaint is not implemented");
+ const beforeLoad = performance.now();
+ // 262 is the size of the animated PNG up until the first frame,
+ // including the chunk that starts the second frame (indicating that
+ // the first frame data is done).
+ // The trickle pipe delays the response after the first frame by 1 second.
+ const url = window.location.origin +
+ `/images/anim-gr.png?pipe=trickle(262:d${delay_pipe_value})`;
+ const entry = await load_and_observe(url);
+ // anim-gr.png is 100 by 50.
+ const size = 100 * 50;
+ checkImage(entry, url, 'image_id', size, beforeLoad, ["animated"]);
+ }, "Same origin animated image is observable and has a first frame.");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-animated-image.tentative.html b/testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-animated-image.tentative.html
new file mode 100644
index 0000000000..993883c607
--- /dev/null
+++ b/testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-animated-image.tentative.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Largest Contentful Paint: observe image.</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/largest-contentful-paint-helpers.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+</head>
+<body>
+ <script>
+ promise_test(async () => {
+ assert_implements(window.LargestContentfulPaint,
+ "LargestContentfulPaint is not implemented");
+ const beforeLoad = performance.now();
+ // 262 is the size of the animated PNG up until the first frame,
+ // including the chunk that starts the second frame (indicating that
+ //the first frame data is done).
+ const {REMOTE_ORIGIN} = get_host_info();
+ const url = REMOTE_ORIGIN +
+ '/images/anim-gr.png?pipe=trickle(262:d1)';
+ const entry = await load_and_observe(url);
+ // anim-gr.png is 100 by 50.
+ const size = 100 * 50;
+ checkImage(entry, url, 'image_id', size, beforeLoad, ["renderTimeIs0", "animated-zero"]);
+ }, "Same origin animated image is observable and has a first frame.");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-tao-animated-image.tentative.html b/testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-tao-animated-image.tentative.html
new file mode 100644
index 0000000000..137dde6638
--- /dev/null
+++ b/testing/web-platform/tests/largest-contentful-paint/animated/observe-cross-origin-tao-animated-image.tentative.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Largest Contentful Paint: observe image.</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/largest-contentful-paint-helpers.js"></script>
+ <script src="/common/get-host-info.sub.js"></script>
+</head>
+<body>
+ <script>
+ promise_test(async () => {
+ assert_implements(window.LargestContentfulPaint,
+ "LargestContentfulPaint is not implemented");
+ const beforeLoad = performance.now();
+ // 262 is the size of the animated PNG up until the first frame,
+ // including the chunk that starts the second frame (indicating that
+ //the first frame data is done).
+ const {REMOTE_ORIGIN} = get_host_info();
+ const url = REMOTE_ORIGIN +
+ '/images/anim-tao.png?pipe=trickle(262:d1)';
+ const entry = await load_and_observe(url);
+ // anim-gr.png is 100 by 50.
+ const size = 100 * 50;
+ checkImage(entry, url, 'image_id', size, beforeLoad, ["animated"]);
+ }, "Same origin animated image is observable and has a first frame.");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/largest-contentful-paint/animated/observe-non-animated-image.tentative.html b/testing/web-platform/tests/largest-contentful-paint/animated/observe-non-animated-image.tentative.html
new file mode 100644
index 0000000000..6bbc0958b1
--- /dev/null
+++ b/testing/web-platform/tests/largest-contentful-paint/animated/observe-non-animated-image.tentative.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Largest Contentful Paint: observe image.</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/largest-contentful-paint-helpers.js"></script>
+</head>
+<body>
+ <script>
+ promise_test(async () => {
+ assert_implements(window.LargestContentfulPaint,
+ "LargestContentfulPaint is not implemented");
+ const beforeLoad = performance.now();
+ // 262 is the size of the animated PNG up until the first frame,
+ // including the chunk that starts the second frame (indicating that
+ //the first frame data is done).
+ const url = window.location.origin + '/images/blue.png';
+ const entry = await load_and_observe(url);
+ // blue.png is 133 by 106.
+ const size = 133 * 106;
+ checkImage(entry, url, 'image_id', size, beforeLoad, ["animated-zero"]);
+ }, "Same origin animated image is observable and has a first frame.");
+ </script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/largest-contentful-paint/animated/observe-video.tentative.html b/testing/web-platform/tests/largest-contentful-paint/animated/observe-video.tentative.html
new file mode 100644
index 0000000000..49bdd986f6
--- /dev/null
+++ b/testing/web-platform/tests/largest-contentful-paint/animated/observe-video.tentative.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Largest Contentful Paint: observe video.</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="../resources/largest-contentful-paint-helpers.js"></script>
+</head>
+<body>
+ <script>
+ promise_test(async () => {
+ assert_implements(window.LargestContentfulPaint,
+ "LargestContentfulPaint is not implemented");
+ const beforeLoad = performance.now();
+ // 136 is the size of the animated GIF up until the first frame.
+ // The trickle pipe delays the response after the first frame by 1 second.
+ const url = window.location.origin +
+ `/media/test-1s.webm?pipe=trickle(1500:d${delay_pipe_value})`;
+ const entry = await load_video_and_observe(url);
+ // Video is 320 x 184.
+ const size = 320 * 184;
+ // TODO(yoav): Validate size as well as load and render times. "skip" is
+ // currently causing those checks to be skipped.
+ checkImage(entry, url, 'video_id', size, beforeLoad, ["skip"]);
+ }, "Same origin animated image is observable and has a first frame.");
+ </script>
+</body>
+</html>
+