Branch: refs/heads/safari-7615.1.11-branch
Home: https://github.com/WebKit/WebKit
Commit: e5ee29f54fedbefad76b7ff5bf4555389829c694
https://github.com/WebKit/WebKit/commit/e5ee29f54fedbefad76b7ff5bf4555389829c694
Author: Patrick Angle <[email protected]>
Date: 2022-11-02 (Wed, 02 Nov 2022)
Changed paths:
M Source/WebKit/UIProcess/mac/WebViewImpl.mm
Log Message:
-----------
Cherry pick ebefbab, rdar://101872145
WebDriver: [Cocoa] Regression(255359@main) Exception when deleting remote
automation session
https://bugs.webkit.org/show_bug.cgi?id=247384
rdar://101872145
When running a WebDriver session on macOS Monterey, we are failing to stop
observing listeners on the window, resulting
in an exception. This occurs because we no longer strongly hold a reference to
the window anywhere when moving from
`-[WKWindowVisibilityObserver stopObserving:]` to `-[WKWindowVisibilityObserver
_observeWindow:]`, which instead only
uses the weak reference to the window for removing the observers. Instead, we
should keep the removing of the observers
in the scope where we know we still have a window.
This is observable on macOS Monterey when attempting to close a remote
automation session (WebDriver).
* Source/WebKit/UIProcess/mac/WebViewImpl.mm:
(-[WKWindowVisibilityObserver startObserving:]):
(-[WKWindowVisibilityObserver stopObserving:]):
(-[WKWindowVisibilityObserver _observeWindow:]): Deleted.
Canonical link: https://commits.webkit.org/[email protected]
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes