Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 20bc8fb08d58bc9419c555d941a0ed5d8b152bd6
https://github.com/WebKit/WebKit/commit/20bc8fb08d58bc9419c555d941a0ed5d8b152bd6
Author: Ben Nham <[email protected]>
Date: 2024-09-26 (Thu, 26 Sep 2024)
Changed paths:
M Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h
M Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm
M Source/WebKit/UIProcess/mac/WebViewImpl.h
M Source/WebKit/UIProcess/mac/WebViewImpl.mm
M Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm
Log Message:
-----------
Pressing any modifier key causes many WebContent processes to briefly
unsuspend
https://bugs.webkit.org/show_bug.cgi?id=280435
rdar://136712547
Reviewed by Richard Robinson.
The fix in 279557@main does not completely work. After that patch, the active
tab in a background
window no longer gets modifier key events. However, background tabs in the
background window now
unexpectedly get modifier key events. This can cause the associated WebContent
processes to
spuriously unsuspend.
What is happening is that when you switch tabs, the view associated with that
tab does not get a
-mouseExited: message (which is what removes the modifier flag event listener).
Instead, it just
gets removed from the view hierarchy. So we have to remove the modifier flag
event listener in
*both* -mouseExited: and when the view is removed from the view hierarchy.
This patch restores the behavior that we had pre-279557@main where we were
removing the modifier
flag event listener after the view was removed from the view hierarchy.
* Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
* Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _hasFlagsChangedEventMonitorForTesting]):
(-[WKWebView _removeFlagsChangedEventMonitorForTesting]): Deleted.
* Source/WebKit/UIProcess/mac/WebViewImpl.h:
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::hasFlagsChangedEventMonitor):
* Tools/TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
((WebKit, MouseMoveOverElementWithClosedWebView)):
Canonical link: https://commits.webkit.org/284335@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes