Bug 247233

Summary: REGRESSION (249229@main): CSS filter does not update on hover
Product: WebKit Reporter: brian
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, sabouhallawa, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Safari 16   
Hardware: Mac (Apple Silicon)   
OS: macOS 13   
Attachments:
Description Flags
example of filter redraw bug none

Description brian 2022-10-29 14:07:41 PDT
Created attachment 463303 [details]
example of filter redraw bug

If a filter property has already been applied to an element, applying a new filter (by hovering, for example) does not redraw the element with the new filter. See the attached example.

Works fine in Chrome/Firefox. Broken in Safari. **This is a regression from Safari 16.0** 

macOS 13.0
Safari 16.1 (18614.2.9.1.12)
Comment 1 Radar WebKit Bug Importer 2022-11-01 19:01:46 PDT
<rdar://problem/101836748>
Comment 2 Simon Fraser (smfr) 2022-11-18 11:04:28 PST
Weirdly this works if you have layer borders visible (maybe the repaint counter triggers a repaint).
Comment 3 Simon Fraser (smfr) 2022-11-18 11:04:41 PST
The filters are being updated correctly.
Comment 4 zalan 2022-11-18 12:41:24 PST
works: r292363
fails: r292367
r292364 ([GPU Process] CSSFilter should be created only at the painting time 
https://github.com/WebKit/WebKit/commit/19c9835a3ebfadc9066e174716c63359bb8e7bb0 ) is a strong candidate.
Comment 5 Simon Fraser (smfr) 2022-11-18 15:16:03 PST
We're repainting correctly, but some cached filter state is stale.
Comment 6 Simon Fraser (smfr) 2022-11-18 20:15:39 PST
Pull request: https://github.com/WebKit/WebKit/pull/6663
Comment 7 EWS 2022-11-21 16:45:12 PST
Committed 256920@main (a0b92719854d): <https://commits.webkit.org/256920@main>

Reviewed commits have been landed. Closing PR #6663 and removing active labels.