Bug 246338 - [css-contain-intrinsic-size] Apply the value of css contain-intrinsic-size to <select>
Summary: [css-contain-intrinsic-size] Apply the value of css contain-intrinsic-size to...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: cathiechen
URL:
Keywords: InRadar
Depends on: 246944
Blocks: 236707
  Show dependency treegraph
 
Reported: 2022-10-11 07:28 PDT by cathiechen
Modified: 2022-12-11 12:06 PST (History)
1 user (show)

See Also:


Attachments
WIP-patch (7.46 KB, patch)
2022-10-24 05:53 PDT, cathiechen
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.