Status: FAIL | Duration: 55ms | Subtests: 10/12 | 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 |
|---|---|---|
| elemSimple.clientHeight is the height of the padding edge | PASS | |
| elemSimple.scrollHeight is its clientHeight | PASS | |
| elemSimple.clientWidth is the width of the padding edge | PASS | |
| elemSimple.scrollWidth is its clientWidth | PASS | |
| elemOverflow.clientHeight is the height of the padding edge | PASS | |
| elemOverflow.scrollHeight is the height of its scrolled contents (plus padding, since we overflowed) | FAIL | assert_equals: expected 200 but got 150 |
| elemOverflow.clientWidth is the width of the padding edge | PASS | |
| elemOverflow.scrollHeight is the width of its scrolled contents (plus padding) | FAIL | assert_equals: expected 290 but got 250 |
| elemNestedOverflow.clientHeight is the height of the padding edge | PASS | |
| elemNestedOverflow.scrollHeight is the height of its scrolled contents (ignoring padding, since we overflowed) | PASS | |
| elemNestedOverflow.clientWidth is the height of the padding edge | PASS | |
| elemNestedOverflow.scrollWidth is the width of its scrolled contents (ignoring padding, since we overflowed) | PASS |
/css/cssom-view/scrollWidthHeightWhenNotScrollable.xht
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>CSS Test: CSSOM View scrollWidth/scrollHeight (for nonscrollable elements)</title> <link rel="author" title="Robert O'Callahan" href="mailto:robert@ocallahan.org" /> <link rel="help" href="http://www.w3.org/TR/cssom-view/#dom-element-scrollwidth" /> <meta name="flags" content="dom" /> <script src="/resources/testharness.js" type="text/javascript" /> <script src="/resources/testharnessreport.js" type="text/javascript" /> <style type="text/css"><![CDATA[ #elemSimple, #elemOverflow, #elemNestedOverflow { border:1px solid black; width:200px; height:40px; padding-bottom:50px; padding-right:40px; } #elemSimple > div { background:yellow; width:60px; height:30px; } #elemOverflow > div { background:yellow; width:250px; height:150px; } #elemNestedOverflow > div { background:yellow; width:60px; height:30px; } #elemNestedOverflow > div > div { background:blue; width:250px; height:150px; } ]]></style> </head> <body> <noscript>Test not run - javascript required.</noscript> <div id="log" /> <div id="elemSimple"> <div /> </div> <div id="elemOverflow"> <div /> </div> <div id="elemNestedOverflow"> <div> <div /> </div> </div> <script type="text/javascript"><![CDATA[ var elemSimple = document.getElementById("elemSimple"); var elemOverflow = document.getElementById("elemOverflow"); var elemNestedOverflow = document.getElementById("elemNestedOverflow"); test(function(){ assert_equals(elemSimple.clientHeight, 90); }, "elemSimple.clientHeight is the height of the padding edge"); test(function(){ assert_equals(elemSimple.scrollHeight, 90); }, "elemSimple.scrollHeight is its clientHeight"); test(function(){ assert_equals(elemSimple.clientWidth, 240); }, "elemSimple.clientWidth is the width of the padding edge"); test(function(){ assert_equals(elemSimple.scrollWidth, 240); }, "elemSimple.scrollWidth is its clientWidth"); test(function(){ assert_equals(elemOverflow.clientHeight, 90); }, "elemOverflow.clientHeight is the height of the padding edge"); test(function(){ assert_equals(elemOverflow.scrollHeight, 200); }, "elemOverflow.scrollHeight is the height of its scrolled contents (plus padding, since we overflowed)"); test(function(){ assert_equals(elemOverflow.clientWidth, 240); }, "elemOverflow.clientWidth is the width of the padding edge"); test(function(){ assert_equals(elemOverflow.scrollWidth, 290); }, "elemOverflow.scrollHeight is the width of its scrolled contents (plus padding)"); test(function(){ assert_equals(elemNestedOverflow.clientHeight, 90); }, "elemNestedOverflow.clientHeight is the height of the padding edge"); /* This test differs from the spec. All major browsers give the result here, ignoring the bottom padding. */ test(function(){ assert_equals(elemNestedOverflow.scrollHeight, 150); }, "elemNestedOverflow.scrollHeight is the height of its scrolled contents (ignoring padding, since we overflowed)"); test(function(){ assert_equals(elemNestedOverflow.clientWidth, 240); }, "elemNestedOverflow.clientWidth is the height of the padding edge"); /* This test differs from the spec. All major browsers give the result here, ignoring the right padding. */ test(function(){ assert_equals(elemNestedOverflow.scrollWidth, 250); }, "elemNestedOverflow.scrollWidth is the width of its scrolled contents (ignoring padding, since we overflowed)"); ]]></script> </body> </html>