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

Reply via email to