1
0
Fork 0
firefox/testing/web-platform/tests/css/compositing/parsing/background-blend-mode-computed-multiple.html
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

49 lines
2.2 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Compositing and Blending Level 1: getComputedStyle().backgroundBlendMode</title>
<link rel="help" href="https://drafts.fxtf.org/compositing-1/#propdef-background-blend-mode">
<meta name="assert" content="background-blend-mode computed value is as specified even when the number of images vary.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/computed-testcommon.js"></script>
<style>
#target {
background-image: linear-gradient(green, green), linear-gradient(green, green), linear-gradient(green, green);
}
</style>
</head>
<body>
<div id="target"></div>
<script>
// This is testing the case with multiple background images
//
// see https://drafts.fxtf.org/compositing-1/#background-blend-mode
// and https://drafts.csswg.org/css-backgrounds-3/#layering
// > The lists are matched up from the first value: excess values at the end are not used.
// and
// > If a property doesnt have enough comma-separated values
// > to match the number of layers, the UA must calculate its used value
// > by repeating the list of values until there are enough.
// but in https://drafts.csswg.org/css-values-4/#linked-properties
// it was decided that
// > The computed values of the coordinating list properties are not affected by such truncation or repetition.
//
// There is a distinction between specified values, used values, and computed values.
// if three images and one value, just send back the specified list.
test_computed_value("background-blend-mode", "normal");
test_computed_value("background-blend-mode", "multiply");
// if three images and two values, just send back the specified list.
test_computed_value("background-blend-mode", "normal, luminosity");
test_computed_value("background-blend-mode", "screen, overlay");
test_computed_value("background-blend-mode", "color, saturation");
// if three images and three values, just send back the specified list.
test_computed_value("background-blend-mode", "normal, luminosity, color");
test_computed_value("background-blend-mode", "screen, overlay, screen");
</script>
</body>
</html>