RESOLVED FIXED 246338
[css-contain-intrinsic-size] Apply the value of css contain-intrinsic-size to <select>
https://bugs.webkit.org/show_bug.cgi?id=246338
Summary [css-contain-intrinsic-size] Apply the value of css contain-intrinsic-size to...
cathiechen
Reported 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
Attachments
WIP-patch (7.46 KB, patch)
2022-10-24 05:53 PDT, cathiechen
no flags
Radar WebKit Bug Importer
Comment 1 2022-10-18 07:29:30 PDT
cathiechen
Comment 2 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.
cathiechen
Comment 3 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.
cathiechen
Comment 4 2022-10-27 12:11:20 PDT
EWS
Comment 5 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.
Note You need to log in before you can comment on or make changes to this bug.