Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4f1b310945dff0f6827a5e4329c2883698fbc47e
https://github.com/WebKit/WebKit/commit/4f1b310945dff0f6827a5e4329c2883698fbc47e
Author: Basuke Suzuki <[email protected]>
Date: 2026-04-13 (Mon, 13 Apr 2026)
Changed paths:
M Source/WebCore/page/Navigation.cpp
Log Message:
-----------
[Navigation API] Fix missing return in performTraversal for unknown key
https://bugs.webkit.org/show_bug.cgi?id=311962
rdar://174513305
Reviewed by Rupin Mittal.
performTraversal() was missing a 'return' before createErrorResult()
when the key doesn't match any history entry. Without it, execution
falls through to subsequent code that uses the moved-from
DeferredPromise objects.
In practice, this check is a defensive guard — traverseTo() already
validates the key before calling performTraversal(), so the path is
unreachable from JS today. It could become reachable when async entry
removal is possible (e.g., precommitHandler's deferred commit phase).
No new tests. The existing traverseTo-invalid-key.html covers the
user-facing behavior at the traverseTo() level. The performTraversal()
guard cannot be reached from public API in the current synchronous flow.
* Source/WebCore/page/Navigation.cpp:
(WebCore::Navigation::performTraversal):
Canonical link: https://commits.webkit.org/311161@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications