Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a3e994b8cd8c92bc8827c17e56e759b960641b3a https://github.com/WebKit/WebKit/commit/a3e994b8cd8c92bc8827c17e56e759b960641b3a Author: Rupin Mittal <ru...@apple.com> Date: 2025-09-12 (Fri, 12 Sep 2025)
Changed paths: M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml M Source/WebCore/loader/DocumentLoader.h M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/page/Navigation.cpp Log Message: ----------- Enable Navigation API https://bugs.webkit.org/show_bug.cgi?id=298730 rdar://160389651 Reviewed by Charlie Wolfe. Enable the Navigation API on Cocoa, GTK, WPE now that the PLT regression is fixed (299858@main). Enabling this API results in the ProcessSwap.SwapOnFormSubmission API test failing. It fails because on [webView reload], the web process changes rather than staying the same. The issue is that on [webView reload], we call FrameLoader::reload which ends up calling Navigation::initializeForNewWindow. Since there is a previous window with previous navigation entries we should process, we go down the shouldProcessPreviousNavigationEntries path. Then, since the navigation type is not Traverse or Push, we end up in the last else case, which dereferences the navigationType. Turns out, no navigationType has been set. So the process crashes, which causes a new process to be spun up and reload is called in that process. Hence the process ID in the API test is not equal to the old one. To fix this, we make FrameLoader::reload set the NavigationNavigationType as it should have been doing before. This issue did not arise earlier since API tests are not run with non-stable feature flags enabled. Now that we're enabling it, this case will continue to be tested by ProcessSwap.SwapOnFormSubmission. * Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml: * Source/WebCore/loader/DocumentLoader.h: (WebCore::DocumentLoader::setTriggeringNavigationAPIType): * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::reload): * Source/WebCore/page/Navigation.cpp: (WebCore::Navigation::initializeForNewWindow): Canonical link: https://commits.webkit.org/299927@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes