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

Reply via email to