RESOLVED FIXED301090
Negative hover selector not working properly on hover in lockdown mode
https://bugs.webkit.org/show_bug.cgi?id=301090
Summary Negative hover selector not working properly on hover in lockdown mode
Carlos J.
Reported 2025-10-20 05:54:38 PDT
Created attachment 477139 [details] demo Given the following setup: <style> section:not(:hover) span { visibility: hidden; } </style> <section> Hover me <span>Hello</span> </section> Hovering the "hover me" text does not make the span appear. When you switch to another app and return, it does make the text appear, yet in that case it does not disappear again. So seems the :not(:hover) fails to trigger a check.
Attachments
demo (252 bytes, text/html)
2025-10-20 05:54 PDT, Carlos J.
no flags
Screen recording of demo (1.91 MB, video/quicktime)
2025-10-21 08:41 PDT, Carlos J.
no flags
Alexey Proskuryakov
Comment 1 2025-10-20 16:08:26 PDT
Thank you for the report! I cannot reproduce this, is this still happening for you in Safari Technology Preview?
Carlos J.
Comment 2 2025-10-21 01:51:03 PDT
Can reproduce it in STP Release 230 (WebKit 21623.1.11.19.3).
Alexey Proskuryakov
Comment 3 2025-10-21 08:26:37 PDT
This is very strange. Is this on macOS Tahoe, or an older version? Not sure how this could be OS version specific, but there must be some difference between our setups. Could you perhaps attach a screen recording, maybe we would notice some configuration difference looking at it?
Carlos J.
Comment 4 2025-10-21 08:41:27 PDT
Created attachment 477160 [details] Screen recording of demo Running macOS Tahoe 26.0.1 (25A362). Potentially relevant: lockdown mode is enabled See screen recording. In the screen recording the user switches tabs, which triggers some hover check, however when returning, it gets locked in the hover state, and it does not undo the hovering.
Alexey Proskuryakov
Comment 5 2025-10-21 09:16:09 PDT
I can reproduce in Lockdown mode! Not sure what could be causing it, this test doesn't use any of the features that I know of being disabled in this mode.
Radar WebKit Bug Importer
Comment 6 2025-10-27 05:55:12 PDT
Antti Koivisto
Comment 7 2025-10-28 00:48:01 PDT
My guess without debugging is that the CSS JIT is disabled in the lockdown mode and there is a behavior difference between the JIT and the interpreter (SelectorChecker).
Antti Koivisto
Comment 8 2025-10-28 01:28:04 PDT
Yep, I can repro by disabling the JIT.
Antti Koivisto
Comment 9 2025-10-28 02:05:30 PDT
EWS
Comment 10 2025-10-28 11:00:51 PDT
Committed 302245@main (5dab3b1c428d): <https://commits.webkit.org/302245@main> Reviewed commits have been landed. Closing PR #53078 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.