mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-25 19:56:30 +00:00
LibWeb: Return absolutized computed value for outline width property
This commit is contained in:
parent
b05b9378ed
commit
32812f5db0
Notes:
github-actions[bot]
2025-04-05 10:55:27 +00:00
Author: https://github.com/tcl3
Commit: 32812f5db0
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4233
7 changed files with 100 additions and 32 deletions
|
@ -496,15 +496,15 @@ All supported properties and their default values exposed from CSSStylePropertie
|
|||
'object-position': '50% 50%'
|
||||
'opacity': '1'
|
||||
'order': '0'
|
||||
'outline': 'rgb(0, 0, 0) none medium'
|
||||
'outline': 'rgb(0, 0, 0) none 0px'
|
||||
'outlineColor': 'rgb(0, 0, 0)'
|
||||
'outline-color': 'rgb(0, 0, 0)'
|
||||
'outlineOffset': '0px'
|
||||
'outline-offset': '0px'
|
||||
'outlineStyle': 'none'
|
||||
'outline-style': 'none'
|
||||
'outlineWidth': 'medium'
|
||||
'outline-width': 'medium'
|
||||
'outlineWidth': '0px'
|
||||
'outline-width': '0px'
|
||||
'overflow': 'visible'
|
||||
'overflowX': 'visible'
|
||||
'overflow-x': 'visible'
|
||||
|
|
|
@ -116,8 +116,8 @@ order: 'calc(2)' -> '2'
|
|||
order: 'calc(2 * var(--n))' -> '4'
|
||||
outline-offset: 'calc(2px)' -> '2px'
|
||||
outline-offset: 'calc(2px * var(--n))' -> '4px'
|
||||
outline-width: 'calc(2px)' -> '2px'
|
||||
outline-width: 'calc(2px * var(--n))' -> '4px'
|
||||
outline-width: 'calc(2px)' -> '0px'
|
||||
outline-width: 'calc(2px * var(--n))' -> '0px'
|
||||
padding-bottom: 'calc(2px)' -> '2px'
|
||||
padding-bottom: 'calc(2px * var(--n))' -> '4px'
|
||||
padding-left: 'calc(2%)' -> '15.6875px'
|
||||
|
|
|
@ -186,7 +186,7 @@ order: 0
|
|||
outline-color: rgb(0, 0, 0)
|
||||
outline-offset: 0px
|
||||
outline-style: none
|
||||
outline-width: medium
|
||||
outline-width: 0px
|
||||
overflow-x: visible
|
||||
overflow-y: visible
|
||||
padding-block-end: 0px
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
Harness status: OK
|
||||
|
||||
Found 9 tests
|
||||
|
||||
9 Pass
|
||||
Pass Property outline-width value '2.5px'
|
||||
Pass Property outline-width value '10px'
|
||||
Pass Property outline-width value '0.5em'
|
||||
Pass Property outline-width value 'calc(10px + 0.5em)'
|
||||
Pass Property outline-width value 'calc(10px - 0.5em)'
|
||||
Pass Property outline-width value 'thin'
|
||||
Pass Property outline-width value 'medium'
|
||||
Pass Property outline-width value 'thick'
|
||||
Pass outline-width is 0 when outline-style is none
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS UI Level 3: getComputedStyle().outlineWidth</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-ui-3/#outline-width">
|
||||
<meta name="assert" content="outline-width computed value is absolute length, 0 if the outline style is none.">
|
||||
<script src="../../../resources/testharness.js"></script>
|
||||
<script src="../../../resources/testharnessreport.js"></script>
|
||||
<script src="../../../css/support/computed-testcommon.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<style>
|
||||
#target {
|
||||
font-size: 40px;
|
||||
|
||||
border-style: dotted; /* Avoid border-*-width computed style 0 */
|
||||
border-top-width: thin;
|
||||
border-right-width: medium;
|
||||
border-bottom-width: thick;
|
||||
|
||||
outline-style: dotted; /* Avoid outline-width computed style 0 */
|
||||
}
|
||||
</style>
|
||||
<div id="target"></div>
|
||||
<script>
|
||||
test_computed_value("outline-width", "2.5px", "2px");
|
||||
test_computed_value("outline-width", "10px");
|
||||
test_computed_value("outline-width", "0.5em", "20px");
|
||||
test_computed_value("outline-width", "calc(10px + 0.5em)", "30px");
|
||||
test_computed_value("outline-width", "calc(10px - 0.5em)", "0px");
|
||||
|
||||
test_computed_value("outline-width", "thin", getComputedStyle(target).borderTopWidth);
|
||||
test_computed_value("outline-width", "medium", getComputedStyle(target).borderRightWidth);
|
||||
test_computed_value("outline-width", "thick", getComputedStyle(target).borderBottomWidth);
|
||||
|
||||
test(() => {
|
||||
target.style['outline-width'] = '10px';
|
||||
target.style['outline-style'] = 'none';
|
||||
assert_equals(getComputedStyle(target)['outline-width'], '0px');
|
||||
target.style['outline-style'] = '';
|
||||
}, 'outline-width is 0 when outline-style is none');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue