summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-images/object-view-box-fit-fill-canvas.html
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/css/css-images/object-view-box-fit-fill-canvas.html
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/css/css-images/object-view-box-fit-fill-canvas.html')
-rw-r--r--testing/web-platform/tests/css/css-images/object-view-box-fit-fill-canvas.html95
1 files changed, 95 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-images/object-view-box-fit-fill-canvas.html b/testing/web-platform/tests/css/css-images/object-view-box-fit-fill-canvas.html
new file mode 100644
index 0000000000..4341564195
--- /dev/null
+++ b/testing/web-platform/tests/css/css-images/object-view-box-fit-fill-canvas.html
@@ -0,0 +1,95 @@
+<!-- This is an autogen file. Run support/generate_object_view_box_tests.py to update -->
+<!DOCTYPE html>
+<html>
+<title>CSS object-view-box with object-fit:fill</title>
+<script src="support/testHelper.js"></script>
+<link rel="author" href="mailto:khushalsagar@chromium.org">
+<link rel="match" href="object-view-box-fit-fill-canvas-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css-images-4/#the-object-view-box">
+
+<body>
+<style>
+/* The test uses clip-path to avoid comparing edges with minor pixel differences
+ due to differences in scaling on highdpi devices */
+
+.view_box_subset {
+ object-view-box: inset(50px 0px 0px 0px);
+ object-fit: fill;
+ margin: 5px;
+ clip-path: inset(1px 0px 0px 0px);
+}
+
+.view_box_subset_with_position {
+ object-view-box: inset(50px 0px 0px 0px);
+ object-fit: fill;
+ margin: 5px;
+ object-position: 10px 10px;
+ background-color: grey;
+}
+
+.view_box_subset_with_scaling {
+ object-view-box: inset(50px 0px 0px 0px);
+ object-fit: fill;
+ margin: 5px;
+ width: 50px;
+ height: 100px;
+
+ /* The top row of pixels can have minor differences due to difference in order
+ of clipping and scaling operations */
+ clip-path: inset(1px 0px 0px 0px);
+}
+
+.view_box_superset {
+ object-view-box: inset(0px -50px 0px 0px);
+ object-fit: fill;
+ margin: 5px;
+ background-color: grey;
+}
+
+.view_box_superset_with_position {
+ object-view-box: inset(0px -50px 0px 0px);
+ object-fit: fill;
+ margin: 5px;
+ background-color: grey;
+ object-position: 10px 10px;
+}
+
+.view_box_superset_with_scaling {
+ object-view-box: inset(0px -50px 0px 0px);
+ object-fit: fill;
+ margin: 5px;
+ background-color: grey;
+ width: 50px;
+ height: 50px;
+}
+
+.view_box_intersection {
+ object-view-box: inset(-50px 25px 50px 0px);
+ object-fit: fill;
+ margin: 5px;
+ background-color: grey;
+ clip-path: inset(0px 0px 1px 0px);
+}
+
+.view_box_no_intersection {
+ object-view-box: inset(-50px 25px 100px 0px);
+ object-fit: fill;
+ margin: 5px;
+ background-color: grey;
+}
+</style>
+<canvas class="view_box_subset"></canvas>
+<canvas class="view_box_subset_with_position"></canvas>
+<canvas class="view_box_subset_with_scaling"></canvas>
+
+<canvas class="view_box_superset"></canvas>
+<canvas class="view_box_superset_with_position"></canvas>
+<canvas class="view_box_superset_with_scaling"></canvas>
+
+<canvas class="view_box_intersection"></canvas>
+
+<canvas class="view_box_no_intersection"></canvas>
+</body>
+<script>
+ populateElements("");
+</script>