[webkit-changes] [WebKit/WebKit] 88e54c: Merge 254386 at main - WebDriver: Automation session ...
Patrick Angle
noreply at github.com
Tue Sep 13 07:41:41 PDT 2022
Branch: refs/heads/webkitgtk/2.36
Home: https://github.com/WebKit/WebKit
Commit: 88e54c1febd5e111794eab76c02246677629a4fb
https://github.com/WebKit/WebKit/commit/88e54c1febd5e111794eab76c02246677629a4fb
Author: Patrick Angle <pangle at apple.com>
Date: 2022-09-13 (Tue, 13 Sep 2022)
Changed paths:
M Source/WebKit/UIProcess/WebPageProxy.cpp
Log Message:
-----------
Merge 254386 at main - WebDriver: Automation session terminates during navigation process swap
https://bugs.webkit.org/show_bug.cgi?id=245011
rdar://90824741
Reviewed by Devin Rousso and Brent Fulgham.
WebPageProxy::commitProvisionalPage is crashing during some WebDriver sessions due to having a `nullptr` for
`m_provisionalPage` after calling `WebPageProxy::resetStateAfterProcessTermination`. This was occuring because we were
indiscriminately terminating the WebDriver session at that point, but we should not do so when resetting state for a
navigation process swap, as the automation session is very much expected to continue to exist. The reason we end up
without a `m_provisionalPage` is because terminating the automation session cleans up (e.g. closes) the windows under
automation, which in turn is cleaning up the `m_provisionalPage`, since it will no longer exist once the window is gone.
This resolves numerous test crashes in WPT, including encoding/encodeInto.any.serviceworker.html, as well as fixing
issues navigating to `youtube.com` and `twitter.com`.
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetStateAfterProcessTermination):
Canonical link: https://commits.webkit.org/254386@main
(cherry picked from commit d65e9089f3a1e059ca3373052d58221df04b0209)
More information about the webkit-changes
mailing list