Status: FAIL | Duration: 68ms | Subtests: 0/21 | Open test on wpt.live | wpt.fyi
Data from commit:
1884860 Copy-on-write style attribute blocks that are in the rule tree (#831) (2026-09-02)
| Subtest | Status | Message |
|---|---|---|
| Property perspective-origin value '10%' | FAIL | assert_equals: expected "20px 150px" but got "10% 50%" |
| Property perspective-origin value '10% center' | FAIL | assert_equals: expected "20px 150px" but got "10% 50%" |
| Property perspective-origin value '20% 30px' | FAIL | assert_equals: expected "40px 30px" but got "20% 30px" |
| Property perspective-origin value '30px center' | FAIL | assert_equals: expected "30px 150px" but got "30px 50%" |
| Property perspective-origin value '40px top' | FAIL | assert_equals: expected "40px 0px" but got "40px 0%" |
| Property perspective-origin value 'bottom 10% right 20%' | FAIL | assert_equals: expected "160px 270px" but got "80% 90%" |
| Property perspective-origin value 'bottom right' | FAIL | assert_equals: expected "200px 300px" but got "100% 100%" |
| Property perspective-origin value 'center' | FAIL | assert_equals: expected "100px 150px" but got "50% 50%" |
| Property perspective-origin value 'center 50px' | FAIL | assert_equals: expected "100px 50px" but got "50% 50px" |
| Property perspective-origin value 'center bottom' | FAIL | assert_equals: expected "100px 300px" but got "50% 100%" |
| Property perspective-origin value 'center center' | FAIL | assert_equals: expected "100px 150px" but got "50% 50%" |
| Property perspective-origin value 'center left' | FAIL | assert_equals: expected "0px 150px" but got "0% 50%" |
| Property perspective-origin value 'left' | FAIL | assert_equals: expected "0px 150px" but got "0% 50%" |
| Property perspective-origin value 'left 10px' | FAIL | assert_equals: expected "0px 10px" but got "0% 10px" |
| Property perspective-origin value 'left bottom' | FAIL | assert_equals: expected "0px 300px" but got "0% 100%" |
| Property perspective-origin value 'left center' | FAIL | assert_equals: expected "0px 150px" but got "0% 50%" |
| Property perspective-origin value 'right 40%' | FAIL | assert_equals: expected "200px 120px" but got "100% 40%" |
| Property perspective-origin value 'right 30% top -60px' | FAIL | assert_equals: expected "140px -60px" but got "70% -60px" |
| Property perspective-origin value 'top' | FAIL | assert_equals: expected "100px 0px" but got "50% 0%" |
| Property perspective-origin value 'right 20px bottom 30px' | FAIL | assert_equals: expected "180px 270px" but got "calc(100% - 20px) calc(100% - 30px)" |
| Property perspective-origin value 'right calc(10px - 0.5em) top calc(10px - 0.5em)' | FAIL | assert_equals: expected "210px -10px" but got "calc(100% + 10px) -10px" |
/css/css-transforms/parsing/perspective-origin-computed.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>CSS Transform Module Level 2: getComputedStyle().perspectiveOrigin</title> <link rel="help" href="https://drafts.csswg.org/css-transforms-2/#perspective-origin-property"> <meta name="assert" content="perspective-origin computed value is a pair of absolute lengths"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="/css/support/computed-testcommon.js"></script> <style> #target { width: 200px; height: 300px; font-size: 40px; } </style> </head> <body> <div id="target"></div> <script> test_computed_value("perspective-origin", "10%", "20px 150px"); test_computed_value("perspective-origin", "10% center", "20px 150px"); test_computed_value("perspective-origin", "20% 30px", "40px 30px"); test_computed_value("perspective-origin", "30px center", "30px 150px"); test_computed_value("perspective-origin", "40px top", "40px 0px"); test_computed_value("perspective-origin", "bottom 10% right 20%", "160px 270px"); test_computed_value("perspective-origin", "bottom right", "200px 300px"); test_computed_value("perspective-origin", "center", "100px 150px"); test_computed_value("perspective-origin", "center 50px", "100px 50px"); test_computed_value("perspective-origin", "center bottom", "100px 300px"); test_computed_value("perspective-origin", "center center", "100px 150px"); test_computed_value("perspective-origin", "center left", "0px 150px"); test_computed_value("perspective-origin", "left", "0px 150px"); test_computed_value("perspective-origin", "left 10px", "0px 10px"); test_computed_value("perspective-origin", "left bottom", "0px 300px"); test_computed_value("perspective-origin", "left center", "0px 150px"); test_computed_value("perspective-origin", "right 40%", "200px 120px"); test_computed_value("perspective-origin", "right 30% top -60px", "140px -60px"); test_computed_value("perspective-origin", "top", "100px 0px"); test_computed_value("perspective-origin", "right 20px bottom 30px", "180px 270px"); test_computed_value("perspective-origin", "right calc(10px - 0.5em) top calc(10px - 0.5em)", "210px -10px"); </script> </body> </html>