Bug 256413

Summary: (REGRESSION 259497@main) Incorrect rerender when element with box-shadow and height:auto changes size
Product: WebKit Reporter: me
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: ahmad.saleem792, ap, bfulgham, me, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Mac (Apple Silicon)   
OS: macOS 13   
Attachments:
Description Flags
Reproduction code
none
Test reduction(2) none

Description me 2023-05-06 00:55:10 PDT
Created attachment 466243 [details]
Reproduction code

When an element that:
- has `box-shadow`
- is `height: auto`
- its content changes size
- has non-zero `padding`
part of the element does not get rerendered, resulting in a visual artifact

This can be reproduced with the attached file, simply by hovering on the blue part.

Screenshot: https://i.imgur.com/81vzF8t.png

This is observed on Safari 16.4 only (and Safari Technical Preview, Release 169, WebKit 18616.1.12.2), not on Safari 16.3.

And on MacBook Pro M2 and iPad Pro M1, but not on iPhone 12. 

It seems that X px of box-shadow offset-y creates such an erroneous area of (2*X) px.
Comment 1 Radar WebKit Bug Importer 2023-05-06 21:36:32 PDT
<rdar://problem/108999062>
Comment 2 zalan 2023-05-06 21:38:26 PDT
Thank you for this great test reduction!
Comment 3 zalan 2023-05-08 08:19:11 PDT
Created attachment 466280 [details]
Test reduction(2)
Comment 4 zalan 2023-05-08 08:42:24 PDT
regressed by a blink code merge at 259497@main
Comment 5 Ahmad Saleem 2023-05-08 09:24:56 PDT
@Simon - Thanks for CCing. Let me try to do some stuff on local and if I am able to fix it. I will push updated PR else I will revert it. :-)
Comment 6 Ahmad Saleem 2023-05-08 13:16:35 PDT
Reverted (for time being) - https://commits.webkit.org/263818@main
Comment 7 Alexey Proskuryakov 2023-05-08 15:28:26 PDT
If I'm reason this correctly, this bug is fixed by the revert, and should be in RESOLVED/FIXED state. Is that right?
Comment 8 Ahmad Saleem 2023-05-08 15:40:07 PDT
(In reply to Alexey Proskuryakov from comment #7)
> If I'm reason this correctly, this bug is fixed by the revert, and should be
> in RESOLVED/FIXED state. Is that right?

Yes - we can. :-)

I will try to fix original test case in now 'REOPENED' bug. :-)