| <!DOCTYPE html> | |
| <title>CSS Custom Properties: Using revert-layer in fallbacks</title> | |
| <link rel="help" href="https://drafts.csswg.org/css-variables/#substitute-a-var"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <style> | |
| @layer { | |
| #child { | |
| --x:PASS; | |
| margin: 1px; | |
| padding-left: 1px; | |
| } | |
| } | |
| @layer { | |
| #parent { | |
| --x:FAIL; | |
| margin: -1px; | |
| padding-left: -1px; | |
| } | |
| #child { | |
| --x: var(--unknown, revert-layer); | |
| margin: var(--unknown, revert-layer); | |
| padding-left: var(--unknown, revert-layer); | |
| } | |
| } | |
| </style> | |
| <div id=parent> | |
| <div id=child> | |
| </div> | |
| </div> | |
| <pre id=out> | |
| </pre> | |
| <script> | |
| test((x) => { | |
| assert_equals(getComputedStyle(child).getPropertyValue('--x'), 'PASS'); | |
| }, 'var(--unknown, revert-layer) in custom property'); | |
| test((x) => { | |
| assert_equals(getComputedStyle(child).getPropertyValue('margin'), '1px'); | |
| }, 'var(--unknown, revert-layer) in shorthand'); | |
| test((x) => { | |
| assert_equals(getComputedStyle(child).getPropertyValue('margin-left'), '1px'); | |
| }, 'var(--unknown, revert-layer) in shorthand observed via longhand'); | |
| test((x) => { | |
| assert_equals(getComputedStyle(child).getPropertyValue('padding-left'), '1px'); | |
| }, 'var(--unknown, revert-layer) in longhand'); | |
| </script> |