Bug 246338

Summary: [css-contain-intrinsic-size] Apply the value of css contain-intrinsic-size to <select>
Product: WebKit Reporter: cathiechen <cathiechen>
Component: CSSAssignee: cathiechen <cathiechen>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 246944    
Bug Blocks: 236707    
Attachments:
Description Flags
WIP-patch none

Description cathiechen 2022-10-11 07:28:35 PDT
`<select>` adjust the style in RenderThemeMac::adjustMenuListStyle, which might change auto values of width and height to fixed values in the style.
The values of contain-intrinsic-size specify an explicit intrinsic inner size of <select>, which does not affect the layout size of <select> if there are fixed width and height.
We should found a way to make contain-intrinsic-size effective to <select>.

See test case: LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/contain-intrinsic-size/contain-intrinsic-size-032.html
Comment 1 Radar WebKit Bug Importer 2022-10-18 07:29:30 PDT
<rdar://problem/101290328>
Comment 2 cathiechen 2022-10-20 11:28:31 PDT
The case 1 fails because `border: solid;` changes `part` from `MenulistPart` to `MenulistButtonPart` in `RenderTheme::adjustStyle`.
Then it goes different path:

```
    case MenulistPart:
        return adjustMenuListStyle(style, element);
    case MenulistButtonPart:
        return adjustMenuListButtonStyle(style, element);
```
After style adjust, the appearance is different.

It seems WebKit is using `RenderStyle::borderAndBackgroundEqual` to decide which appearance. I'm not sure if we should touch this part.
Comment 3 cathiechen 2022-10-24 05:53:33 PDT
Created attachment 463194 [details]
WIP-patch

This patch is based on https://github.com/WebKit/WebKit/pull/1799.
We can merge this easily, but the patch on 1799 is very large now, So I make this a separating patch.
Comment 4 cathiechen 2022-10-27 12:11:20 PDT
Pull request: https://github.com/WebKit/WebKit/pull/5868
Comment 5 EWS 2022-12-11 12:06:20 PST
Committed 257704@main (b7276669eb69): <https://commits.webkit.org/257704@main>

Reviewed commits have been landed. Closing PR #5868 and removing active labels.