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

Reply via email to