Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 5d5abab4e3bf53b240499b1964734620fb53101a
https://github.com/WebKit/WebKit/commit/5d5abab4e3bf53b240499b1964734620fb53101a
Author: Cole Carley <[email protected]>
Date: 2026-04-28 (Tue, 28 Apr 2026)
Changed paths:
M LayoutTests/TestExpectations
M
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/resource-timing.https-expected.txt
M LayoutTests/platform/ios-site-isolation/TestExpectations
M LayoutTests/platform/mac-site-isolation/TestExpectations
M Source/WebCore/Headers.cmake
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/loader/LocalFrameLoaderClient.cpp
M Source/WebCore/loader/LocalFrameLoaderClient.h
M Source/WebCore/loader/ResourceLoadTiming.h
M Source/WebCore/loader/ResourceTiming.cpp
M Source/WebCore/loader/ResourceTiming.h
M Source/WebCore/loader/ResourceTimingInformation.cpp
M Source/WebCore/loader/ResourceTimingInformation.h
M Source/WebCore/loader/SubresourceLoader.cpp
M Source/WebCore/page/RemoteFrame.cpp
M Source/WebCore/page/RemoteFrame.h
M Source/WebCore/page/RemoteFrameClient.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp
M Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
Log Message:
-----------
[Site Isolation] https/wpt/resource-timing/crossorigin-servertiming.html fails
https://bugs.webkit.org/show_bug.cgi?id=313280
rdar://175553453
Reviewed by Ryosuke Niwa.
A cross-origin iframe's initial navigation should appear as a
PerformanceResourceTiming entry in the parent document's performance timeline.
Resource timing does not work in site isolation because
ResourceTiming::addResourceTiming() relies on document.parentDocument and
frame->ownerElement(), which are null in the Site Isolation case.
To address this problem, we send the ResourceTiming data to the parent WCP
via IPC in SubresourceLoader::reportResourceTiming().
Then the parent adds the information to the document's Performance
object through the new ResourceTimingInformation::addResourceTimingToDocument().
* LayoutTests/TestExpectations:
*
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/resource-timing.https-expected.txt:
* LayoutTests/platform/ios-site-isolation/TestExpectations:
* LayoutTests/platform/mac-site-isolation/TestExpectations:
* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/loader/LocalFrameLoaderClient.cpp:
* Source/WebCore/loader/LocalFrameLoaderClient.h:
* Source/WebCore/loader/ResourceLoadTiming.h:
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
* Source/WebCore/loader/ResourceTiming.cpp:
(WebCore::ResourceTiming::ResourceTiming):
(WebCore::ResourceTiming::isolatedCopy const):
(WebCore::ResourceTiming::isolatedCopy):
* Source/WebCore/loader/ResourceTiming.h:
(WebCore::ResourceTiming::ResourceTiming): Deleted.
* Source/WebCore/loader/ResourceTimingInformation.cpp:
(WebCore::ResourceTimingInformation::addResourceTimingToDocument):
(WebCore::ResourceTimingInformation::addResourceTiming):
* Source/WebCore/loader/ResourceTimingInformation.h:
* Source/WebCore/loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::reportResourceTiming):
* Source/WebCore/page/RemoteFrame.cpp:
(WebCore::RemoteFrame::addResourceTimingFromChild):
* Source/WebCore/page/RemoteFrame.h:
* Source/WebCore/page/RemoteFrameClient.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::addResourceTimingFromSubframe):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.cpp:
(WebKit::WebRemoteFrameClient::addResourceTimingFromChild):
* Source/WebKit/WebProcess/WebCoreSupport/WebRemoteFrameClient.h:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::addResourceTimingFromSubframe):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
Canonical link: https://commits.webkit.org/312257@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications