Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 29d6acce4d23b6012258b0587f9e289a60b75b21
https://github.com/WebKit/WebKit/commit/29d6acce4d23b6012258b0587f9e289a60b75b21
Author: Sihui Liu <[email protected]>
Date: 2025-05-16 (Fri, 16 May 2025)
Changed paths:
M Source/WebCore/loader/archive/Archive.h
M Source/WebCore/loader/archive/ArchiveResource.cpp
M Source/WebCore/loader/archive/ArchiveResource.h
M Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp
M Source/WebCore/loader/archive/cf/LegacyWebArchive.h
M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
M Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
M Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/WebPageProxy.h
M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm
Log Message:
-----------
[Site Isolation] Add basic support for webarchive generation
https://bugs.webkit.org/show_bug.cgi?id=293087
rdar://151424329
Reviewed by Ryosuke Niwa.
In existing implementation, when creating webarchive for a web page, the web
process that hosts the web page will
collect data for all frames and put the data in a single webarchive. With site
isolation, this will not work because
frames can be put in different web processes and frame data needs to be fetched
from different processes. To support
webarchive genereation with site isolation, this patch makes UI process collect
frame webarchives from all web processes
of the page, and combined them into one webarchive based on subframe
identifiers in the webarchives.
* Source/WebCore/loader/archive/Archive.h:
(WebCore::Archive::mainResource const):
(WebCore::Archive::mainResource): Deleted.
* Source/WebCore/loader/archive/ArchiveResource.cpp:
(WebCore::ArchiveResource::create):
(WebCore::ArchiveResource::createWithData):
* Source/WebCore/loader/archive/ArchiveResource.h:
(WebCore::ArchiveResource::createWithData):
* Source/WebCore/loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::LegacyWebArchive):
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::createFromSelection):
* Source/WebCore/loader/archive/cf/LegacyWebArchive.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView createWebArchiveDataWithCompletionHandler:]):
* Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::getWebArchiveData):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getWebArchive):
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::getWebArchives):
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/SiteIsolation.mm:
(TestWebKitAPI::(SiteIsolation, CreateWebArchive)):
Canonical link: https://commits.webkit.org/295026@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes