Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 71b020becb533f61969b658a716e4e66b98bc742
      
https://github.com/WebKit/WebKit/commit/71b020becb533f61969b658a716e4e66b98bc742
  Author: Sihui Liu <[email protected]>
  Date:   2026-05-05 (Tue, 05 May 2026)

  Changed paths:
    M Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl
    M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp
    M Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
    M Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp
    M Tools/WebKitTestRunner/InjectedBundle/TestRunner.h
    M Tools/WebKitTestRunner/TestController.cpp
    M Tools/WebKitTestRunner/TestController.h
    M Tools/WebKitTestRunner/TestInvocation.cpp

  Log Message:
  -----------
  Add TestRunner.lastProvisionalNavigationFailureURL
https://bugs.webkit.org/show_bug.cgi?id=314047
rdar://176233398

Reviewed by Ryosuke Niwa.

With site isolation enabled, navigations may trigger process swaps. When a 
provisional navigation fails (e.g. blocked by
content extensions), the old process has no way to know when the failure has 
been fully processed by the UIProcess. This
makes it difficult for tests to deterministically wait for provisional 
navigation failures before ending.

Add testRunner.lastProvisionalNavigationFailureURL, a synchronous attribute 
that returns the URL of the last provisional
navigation failure observed by the UIProcess. Tests can poll this to determine 
when it is safe to call notifyDone(),
avoiding race conditions between IPC messages on different connections.

* Tools/WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::lastProvisionalNavigationFailureURL const):
* Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h:
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::lastProvisionalNavigationFailureURL const):
* Tools/WebKitTestRunner/InjectedBundle/TestRunner.h:
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
* Tools/WebKitTestRunner/TestController.h:
* Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

Canonical link: https://commits.webkit.org/312622@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to