Bug 260074 - Updates special case for flex-box emulating webkit-box
Summary: Updates special case for flex-box emulating webkit-box
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: Safari Technology Preview
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: BrowserCompat, InRadar, WPTImpact
Depends on:
Blocks:
 
Reported: 2023-08-11 10:12 PDT by Ahmad Saleem
Modified: 2024-09-14 17:11 PDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ahmad Saleem 2023-08-11 10:12:26 PDT
Hi Team,

Came across another potential merge:

Blink Commit: https://chromium-review.googlesource.com/c/chromium/src/+/1874250

Failing Test Case: https://wpt.fyi/results/compat/webkit-box-fieldset.html?label=experimental&label=master&aligned

WPT Live Link: http://wpt.live/compat/webkit-box-fieldset.html

In local build, doing following change leads to test progressing. So I think it is good win.

Thanks!
Comment 1 Ahmad Saleem 2023-08-11 10:29:13 PDT
Expected to fail, but passed: (2)
  imported/w3c/web-platform-tests/compat/webkit-box-fieldset.html
  imported/w3c/web-platform-tests/compat/webkit-box-rtl-flex.html


Regressions: Unexpected text-only failures (1)
  imported/w3c/web-platform-tests/compat/webkit-box-vertically-centered.html [ Failure ]

____

While running it on 'Compat' directory of WPT test cases.
Comment 2 Radar WebKit Bug Importer 2023-08-18 10:13:14 PDT
<rdar://problem/114094538>
Comment 3 Ahmad Saleem 2023-08-27 03:14:27 PDT
Tried this but didn't work:

if ((parent()->isDeprecatedFlexibleBox() || (parent()->isFlexibleBox() && (parent()->style().display() == DisplayType::Box ||  parent()->style().display() == DisplayType::InlineBox))) && (parent()->style().boxOrient() == BoxOrient::Horizontal || parent()->style().boxAlign() != BoxAlignment::Stretch))
Comment 4 Karl Dubost 2024-09-13 10:31:28 PDT
What is happening here

Safari
FIELDSET: 966 x 10 (px)
  DIV:      0 x 10 (px)

Firefox, Chrome
FIELDSET: 966 x 10 (px)
  DIV:    966 x 10 (px)

I wonder if it's partly related to 
https://github.com/WebKit/WebKit/blob/509e7900b3d9d995f089ad54ee3e813d0f1086ef/Source/WebCore/rendering/RenderBlock.cpp#L3194

void RenderBlock::layoutExcludedChildren(bool relayoutChildren) {}
which has a lot of rules for Fieldset
Comment 5 Ahmad Saleem 2024-09-14 14:59:54 PDT
(In reply to Ahmad Saleem from comment #1)
> Expected to fail, but passed: (2)
>   imported/w3c/web-platform-tests/compat/webkit-box-fieldset.html
>   imported/w3c/web-platform-tests/compat/webkit-box-rtl-flex.html
> 
> 
> Regressions: Unexpected text-only failures (1)
>   imported/w3c/web-platform-tests/compat/webkit-box-vertically-centered.html
> [ Failure ]
> 
> ____
> 
> While running it on 'Compat' directory of WPT test cases.

Just to flag, this is because of following:

if (parent()->isRenderFlexibleBox() && (parent()->style().boxOrient() == BoxOrient::Horizontal || parent()->style().boxAlign() != BoxAlignment::Stretch))
Comment 6 Karl Dubost 2024-09-14 17:11:47 PDT
yes I tried to play with it a bit yesterday without success.