Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 1b1d1e50831f4d0529ff51174268e974efd3b93d
https://github.com/WebKit/WebKit/commit/1b1d1e50831f4d0529ff51174268e974efd3b93d
Author: Charlie Wolfe <[email protected]>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M Source/WebCore/loader/FrameLoader.cpp
Log Message:
-----------
imported/w3c/web-platform-tests/content-security-policy/inheritance/history.sub.html
is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=324092
rdar://187312421
Reviewed by Rupin Mittal.
loadDifferentDocumentItem() reuses the cached page's DocumentLoader when the
target history item is
in the back/forward cache, then checks the navigation policy asynchronously. If
the CachedPage is
evicted while that check is in flight continueLoadAfterNavigationPolicy() falls
through to a normal
network load still holding that loader. It has already been committed, so
commitIfReady() and
commitData() both no-op. The resource loads fine, but no document is ever
created, leaving the
navigation hung.
Restart the item with a fresh DocumentLoader instead. The client has already
decided this
navigation's policy, so pass PolicyAlreadyDecided::Yes to avoid a second round
trip.
This is why
imported/w3c/web-platform-tests/content-security-policy/inheritance/history.sub.html
was
flaky. Its six concurrent popups push enough pages into the back/forward cache
to prune each other's
entries mid-navigation.
* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
Canonical link: https://commits.webkit.org/321286@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications