Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 894832dbbeb45010934975d78cd4d6afa2a5cdf6
https://github.com/WebKit/WebKit/commit/894832dbbeb45010934975d78cd4d6afa2a5cdf6
Author: Cole Carley <[email protected]>
Date: 2026-05-02 (Sat, 02 May 2026)
Changed paths:
M Source/WebCore/loader/FrameLoader.h
M Source/WebKit/Shared/LoadParameters.h
M Source/WebKit/Shared/LoadParameters.serialization.in
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
Log Message:
-----------
[Site Isolation]
http/tests/misc/resource-timing-navigation-in-restored-iframe.html fails
https://bugs.webkit.org/show_bug.cgi?id=313832
rdar://176037577
Reviewed by Ryosuke Niwa.
The test loads the page, which has a script tag and an iframe. Then, it
navigates the page
to alert-then-back.html which uses history.back(). The original page is
reloaded. After the
iframe loads, there should only be one resource timing entry: the script load.
Because the
iframe is cached in history, this is not it's initial load, and should not be
reported to the
main documents prformance entries.
This was broken in site isolation, because it relied on
FrameLoader::loadDifferentDocumentItem
to flip the m_shouldReportResourceTimingToParentFrame to false. This does not
get called in
Site Isolation, so there is still an iframe resource timing entry.
To fix this issue, I added a field called isHistoryItemNavigation to
LoadParameters that get's
set in WebPageProxy::continueNavigationInNewProcess if the last navigation
action has a
NavigationType::BackForward. Then, when in WebPage::loadRequest, we can flip
m_shouldReportResourceTimingToParentFrame to false in the FrameLoader.
* Source/WebCore/loader/FrameLoader.h:
* Source/WebCore/loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::addResourceTiming):
* Source/WebKit/Shared/LoadParameters.h:
* Source/WebKit/Shared/LoadParameters.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
Canonical link: https://commits.webkit.org/312476@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications