Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d684b92034ab21f08eae1543b469d651d32cb163
      
https://github.com/WebKit/WebKit/commit/d684b92034ab21f08eae1543b469d651d32cb163
  Author: Basuke Suzuki <[email protected]>
  Date:   2026-04-17 (Fri, 17 Apr 2026)

  Changed paths:
    M Source/WebCore/loader/HistoryController.h
    M Source/WebCore/page/Navigation.cpp
    M Source/WebCore/page/Navigation.h
    M Source/WebCore/page/Page.h

  Log Message:
  -----------
  [Navigation API] Convert NavigationAPIMethodTracker from struct to class
https://bugs.webkit.org/show_bug.cgi?id=311964
rdar://174513354

Reviewed by Anne van Kesteren.

Convert NavigationAPIMethodTracker from a public struct to a proper
class with private members and public accessors. This improves
encapsulation before the precommitHandler implementation adds more
state and lifecycle complexity to trackers.

No new tests (refactoring, no behavior change).
Ran imported/w3c/web-platform-tests/navigation-api/ — all 419 tests
passed, no regressions.

* Source/WebCore/loader/HistoryController.h:
* Source/WebCore/page/Navigation.cpp:
(WebCore::NavigationAPIMethodTracker::NavigationAPIMethodTracker):
(WebCore::Navigation::maybeSetUpcomingNonTraversalTracker):
(WebCore::Navigation::addUpcomingTraverseAPIMethodTracker):
(WebCore::Navigation::apiMethodTrackerDerivedResult):
(WebCore::Navigation::navigate):
(WebCore::Navigation::performTraversal):
(WebCore::Navigation::resolveFinishedPromise):
(WebCore::Navigation::rejectFinishedPromise):
(WebCore::Navigation::notifyCommittedToEntry):
(WebCore::Navigation::cleanupAPIMethodTracker):
(WebCore::Navigation::abortOngoingNavigation):
(WebCore::Navigation::handleSameDocumentNavigation):
(WebCore::Navigation::innerDispatchNavigateEvent):
(WebCore::Navigation::visitAdditionalChildrenInGCThread):
* Source/WebCore/page/Navigation.h:
(WebCore::NavigationAPIMethodTracker::operator== const):
(WebCore::NavigationAPIMethodTracker::key const):
(WebCore::NavigationAPIMethodTracker::setKey):
(WebCore::NavigationAPIMethodTracker::info):
(WebCore::NavigationAPIMethodTracker::serializedState const):
(WebCore::NavigationAPIMethodTracker::setSerializedState):
(WebCore::NavigationAPIMethodTracker::takeSerializedState):
(WebCore::NavigationAPIMethodTracker::committedToEntry const):
(WebCore::NavigationAPIMethodTracker::setCommittedToEntry):
(WebCore::NavigationAPIMethodTracker::committedPromise):
(WebCore::NavigationAPIMethodTracker::committedPromise const):
(WebCore::NavigationAPIMethodTracker::finishedPromise):
(WebCore::NavigationAPIMethodTracker::finishedPromise const):
(WebCore::NavigationAPIMethodTracker::finishedBeforeCommit const):
(WebCore::NavigationAPIMethodTracker::setFinishedBeforeCommit):
* Source/WebCore/page/Page.h:

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



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

Reply via email to