Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: db6e4c26e758915244eae2cf0f8d03ca66a59ec6 https://github.com/WebKit/WebKit/commit/db6e4c26e758915244eae2cf0f8d03ca66a59ec6 Author: Basuke Suzuki <bas...@apple.com> Date: 2025-08-08 (Fri, 08 Aug 2025)
Changed paths: M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-canceled-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-double-intercept_currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-double-intercept_no-currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reentrant_currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reentrant_no-currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reject_currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reject_no-currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept_currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept_no-currententrychange-expected.txt M LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/transition-finished-mark-as-handled-expected.txt M Source/WebCore/loader/FrameLoadRequest.h M Source/WebCore/loader/FrameLoader.cpp M Source/WebCore/loader/FrameLoader.h M Source/WebCore/loader/NavigationScheduler.cpp Log Message: ----------- [Navigation API] NavigateEvent for location.href needs to run before next microtask. https://bugs.webkit.org/show_bug.cgi?id=296945 rdar://157307363 Reviewed by Alex Christensen. When location.href or similar APIs trigger a navigation, the navigate event should fire synchronously before any microtasks run. This ensures proper event ordering and allows navigate event handlers to prevent the navigation if needed. The fix adds synchronous NavigateEvent dispatch in scheduleLocationChange(). * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-canceled-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-double-intercept_currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-double-intercept_no-currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reentrant_currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reentrant_no-currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reject_currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept-reject_no-currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept_currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/location-href-intercept_no-currententrychange-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/transition-finished-mark-as-handled-expected.txt: * Source/WebCore/loader/FrameLoadRequest.h: (WebCore::FrameLoadRequest::skipNavigateEvent const): (WebCore::FrameLoadRequest::setSkipNavigateEvent): * Source/WebCore/loader/FrameLoader.cpp: (WebCore::FrameLoader::loadFrameRequest): (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::loadPostRequest): (WebCore::FrameLoader::dispatchNavigateEvent): * Source/WebCore/loader/FrameLoader.h: * Source/WebCore/loader/NavigationScheduler.cpp: (WebCore::ScheduledLocationChange::ScheduledLocationChange): (WebCore::NavigationScheduler::scheduleLocationChange): Canonical link: https://commits.webkit.org/298445@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