Bug 249006

Summary: REGRESSION (251025@main): Language setting dropdown menu is empty in Rise of the Tomb Raider
Product: WebKit Reporter: zalan <zalan>
Component: Layout and RenderingAssignee: zalan <zalan>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, changseok, esprehn+autocc, ews-watchlist, glenn, kondapallykalyan, pdr, simon.fraser, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
[fast-cq]Patch none

Description zalan 2022-12-08 20:25:54 PST
<rdar://102032344>
Comment 1 zalan 2022-12-08 21:07:18 PST
Created attachment 463952 [details]
Patch
Comment 2 zalan 2022-12-08 21:17:33 PST
Created attachment 463954 [details]
Patch
Comment 3 Simon Fraser (smfr) 2022-12-08 21:28:07 PST
Comment on attachment 463954 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=463954&action=review

> Source/WebCore/rendering/RenderObject.cpp:874
> +    return ancestorRenderer.effectiveOverflowX() != Overflow::Visible && ancestorRenderer.effectiveOverflowY() != Overflow::Visible;

hasNonVisibleOverflow()?

> LayoutTests/fast/repaint/incorrect-repaint-when-child-layer-overflows.html:42
> +  document.body.offsetHeight;

The rendering update should do the layout.

> LayoutTests/fast/repaint/incorrect-repaint-when-child-layer-overflows.html:49
> +  wrapper.style.transform = "translateY(0)";
> +  contents.style.visibility = "visible";

My preferred way to do this is just `document.body.classList.add('changed')` and then just write style rules to match.
Comment 4 Simon Fraser (smfr) 2022-12-08 21:28:32 PST
Comment on attachment 463954 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=463954&action=review

> LayoutTests/fast/repaint/incorrect-repaint-when-child-layer-overflows.html:27
> +  z-index: -10;

Is the negative z-index needed?
Comment 5 zalan 2022-12-09 05:59:51 PST
Created attachment 463960 [details]
[fast-cq]Patch
Comment 6 zalan 2022-12-09 06:07:32 PST
(In reply to Simon Fraser (smfr) from comment #3)
> Comment on attachment 463954 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=463954&action=review
> 
> > Source/WebCore/rendering/RenderObject.cpp:874
> > +    return ancestorRenderer.effectiveOverflowX() != Overflow::Visible && ancestorRenderer.effectiveOverflowY() != Overflow::Visible;
> 
> hasNonVisibleOverflow()?
Oh, the cached bit on the renderer! Yeah, good point (though I find the function name a bit misleading. To me, hasNonVisibleOverflow() on a renderer means actual overflow in layout terms and not in style terms).

> 
> > LayoutTests/fast/repaint/incorrect-repaint-when-child-layer-overflows.html:42
> > +  document.body.offsetHeight;
> 
> The rendering update should do the layout.
cool, removed both calls.

> 
> > LayoutTests/fast/repaint/incorrect-repaint-when-child-layer-overflows.html:49
> > +  wrapper.style.transform = "translateY(0)";
> > +  contents.style.visibility = "visible";
> 
> My preferred way to do this is just `document.body.classList.add('changed')`
> and then just write style rules to match.
I like seeing the actual changes in the script, it's easier for me to tell what's going on. I'd prefer to keep it this way unless you feel strongly about it.

>> LayoutTests/fast/repaint/incorrect-repaint-when-child-layer-overflows.html:27
>> +  z-index: -10;
>Is the negative z-index needed?
Surely not, moved the .ref _before_ the test content.
Comment 7 EWS 2022-12-09 07:50:01 PST
Committed 257627@main (7ca99fc4ae5f): <https://commits.webkit.org/257627@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463960 [details].