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

Reply via email to