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 <pan...@apple.com>
  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/255891.10@safari-7615.1.11-branch


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to