Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 86a2114b3e46295dc908c97f989c83ecc0a31d0d
https://github.com/WebKit/WebKit/commit/86a2114b3e46295dc908c97f989c83ecc0a31d0d
Author: Chris Dumez <[email protected]>
Date: 2025-11-04 (Tue, 04 Nov 2025)
Changed paths:
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/bindings/js/JSNavigateEventCustom.cpp
A Source/WebCore/bindings/js/JSNavigationCustom.cpp
M Source/WebCore/dom/Microtasks.h
M Source/WebCore/page/NavigateEvent.cpp
M Source/WebCore/page/NavigateEvent.h
M Source/WebCore/page/NavigateEvent.idl
M Source/WebCore/page/Navigation.h
M Source/WebCore/page/Navigation.idl
Log Message:
-----------
imported/w3c/web-platform-tests/navigation-api/ordering-and-transition/navigate-204-205-download-then-same-document.html
is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=301894
Reviewed by Ryosuke Niwa.
The crash was due to the Navigation object not marking its associated
ongoing NavigateEvent when getting visited. Similarly, the NavigateEvent
would fail to mark its associated AbortSignal when visited. As a result,
the AbortSignal's JS wrapper could get garbage collected and we would
crash trying to dispatch the abort event on it.
The test was flakily crashing in debug before this change and is now
reliably passing.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/JSNavigateEventCustom.cpp:
(WebCore::JSNavigateEvent::visitAdditionalChildren):
* Source/WebCore/bindings/js/JSNavigationCustom.cpp: Copied from
Source/WebCore/bindings/js/JSNavigateEventCustom.cpp.
(WebCore::JSNavigation::visitAdditionalChildren):
* Source/WebCore/dom/Microtasks.h:
* Source/WebCore/page/NavigateEvent.cpp:
(WebCore::root):
* Source/WebCore/page/NavigateEvent.h:
* Source/WebCore/page/NavigateEvent.idl:
* Source/WebCore/page/Navigation.h:
* Source/WebCore/page/Navigation.idl:
Canonical link: https://commits.webkit.org/302530@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications