Non-inherited properties may depend on inherited line-height

For the lh unit, non-inherited properties like height might use lh as a
unit which means properties inherited from the parent can change the
result in the context of MatchedPropertiesCache. Check whether the
line-height changed like we do it for font to handle font-relative
units.

Bug: 1487480
Change-Id: I6012fdad747f46a964206af8637e10cb130c8cad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4897800
Reviewed-by: Anders Hartvoll Ruud <andruud@chromium.org>
Commit-Queue: Rune Lillesveen <futhark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1202593}
diff --git a/css/css-values/lh-unit-005.html b/css/css-values/lh-unit-005.html
new file mode 100644
index 0000000..477c153
--- /dev/null
+++ b/css/css-values/lh-unit-005.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Values and Units Test: lh unit based on inherited line-height</title>
+<link rel="help" href="https://drafts.csswg.org/css-values-4/#font-relative-lengths">
+<link rel="help" href="https://crbug.com/1487480">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  #lh50, #lh100 {
+    height: 1lh;
+  }
+</style>
+<div style="line-height: 50px">
+  <div id="lh50"></div>
+</div>
+<div style="line-height: 100px">
+  <div id="lh100"></div>
+</div>
+<script>
+  test(() => {
+    assert_equals(getComputedStyle(lh50).height, "50px");
+    assert_equals(getComputedStyle(lh100).height, "100px");
+  }, "lh relative to line-height inherited from parent");
+</script>