Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 85527e6041aa05a38a48f372ce749dc7214236ed
      
https://github.com/WebKit/WebKit/commit/85527e6041aa05a38a48f372ce749dc7214236ed
  Author: Brady Eidson <[email protected]>
  Date:   2026-10-02 (Fri, 02 Oct 2026)

  Changed paths:
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/mac/WebViewImpl.h
    M Source/WebKit/UIProcess/mac/WebViewImpl.mm
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
    A Tools/TestWebKitAPI/Helpers/mac/LocalEventMonitorSwizzler.h
    A Tools/TestWebKitAPI/Helpers/mac/LocalEventMonitorSwizzler.mm
    M Tools/TestWebKitAPI/SourcesCocoa.txt
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/UIDelegate.mm

  Log Message:
  -----------
  [Site Isolation] Pressing a modifier key over a link in a cross-origin iframe 
loses the link's hover information
rdar://189032513
https://bugs.webkit.org/show_bug.cgi?id=326118

Reviewed by Alex Christensen and Zak Ridouh.

Rename some mouse event handling methods/messages to make it clear they're only 
about when modifier keys change.
Then, make sure they message to the correct process for hit testing.

This probably fixes more than just the link hover case, but that's the most 
obvious user visible symptom to be tested.

Tests: Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm
       Tools/TestWebKitAPI/Tests/WebKit/WKWebView/UIDelegate.mm

* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dispatchMouseDidMoveOverElementForModifierFlagsChange):
(WebKit::WebPageProxy::performHitTestForModifierFlagsChangeInFrame):
(WebKit::WebPageProxy::dispatchMouseDidMoveOverElementAsynchronously): Deleted.
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::scheduleMouseDidMoveOverElementForModifierFlagsChange):
(WebKit::WebViewImpl::createFlagsChangedEventMonitor):
(WebKit::WebViewImpl::scheduleMouseDidMoveOverElement): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performHitTestForModifierFlagsChangeOnMouseEvent):
(WebKit::WebPage::performHitTestForMouseEvent): Deleted.
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Tools/TestWebKitAPI/Helpers/mac/LocalEventMonitorSwizzler.h: Added.
* Tools/TestWebKitAPI/Helpers/mac/LocalEventMonitorSwizzler.mm: Added.
(+[TestLocalEventObserver initialize]):
(-[TestLocalEventObserver initMatchingEvents:handler:]):
(-[TestLocalEventObserver dealloc]):
(-[TestLocalEventObserver invalidate]):
(-[TestLocalEventObserver recomputeObserverMask]):
(+[TestEventMonitor addLocalMonitorForEventsMatchingMask:handler:]):
(TestWebKitAPI::LocalEventMonitorSwizzler::LocalEventMonitorSwizzler):
(TestWebKitAPI::LocalEventMonitorSwizzler::sendEventToMonitor):
* Tools/TestWebKitAPI/SourcesCocoa.txt:
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/SiteIsolation-1.mm:
(-[SiteIsolationMouseMoveOverElementDelegate 
_webView:mouseDidMoveOverElement:withFlags:userInfo:]):
(TestWebKitAPI::TEST(SiteIsolation, 
ModifierKeyChangeOverLinkInCrossOriginIframe)):
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/UIDelegate.mm:
((WebKit, MouseMoveOverElementWithClosedWebView)):
(+[TestLocalEventObserver initialize]): Deleted.
(-[TestLocalEventObserver initMatchingEvents:handler:]): Deleted.
(-[TestLocalEventObserver dealloc]): Deleted.
(-[TestLocalEventObserver invalidate]): Deleted.
(-[TestLocalEventObserver recomputeObserverMask]): Deleted.
(+[TestEventMonitor addLocalMonitorForEventsMatchingMask:handler:]): Deleted.

Canonical link: https://commits.webkit.org/322582@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to