WebKit export of https://bugs.webkit.org/show_bug.cgi?id=265160 (#43497)
diff --git a/css/css-animations/animation-css-variable-dependent-property.html b/css/css-animations/animation-css-variable-dependent-property.html
new file mode 100644
index 0000000..26d183f
--- /dev/null
+++ b/css/css-animations/animation-css-variable-dependent-property.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Animations: Dependent property updates correctly when animating a declared custom property</title>
+<link rel="help" href="https://drafts.csswg.org/css-animations/">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="support/testcommon.js"></script>
+<style>
+@property --c {
+ syntax: "<color>";
+ inherits: true;
+ initial-value: black;
+}
+@keyframes color-shift {
+ 0% {
+ --c: black;
+ }
+ 100% {
+ --c: white;
+ }
+}
+#target {
+ color: var(--c);
+ animation: color-shift 1s linear 1 forwards paused
+}
+</style>
+<div id=target></div>
+<div id="log"></div>
+<script>
+
+test(t => {
+ const animation = target.getAnimations()[0];
+
+ assert_equals(
+ getComputedStyle(target).color,
+ 'rgb(0, 0, 0)'
+ );
+
+ animation.currentTime = 500;
+
+ assert_equals(
+ getComputedStyle(target).color,
+ 'rgb(128, 128, 128)'
+ );
+
+ animation.currentTime = 1000;
+
+ assert_equals(
+ getComputedStyle(target).color,
+ 'rgb(255, 255, 255)'
+ );
+
+}, 'Dependent property updates correctly');
+
+</script>