[webkit-changes] [WebKit/WebKit] 442e87: Add SPI for getting notification when WebsiteDataS...
Sihui
noreply at github.com
Tue May 2 13:59:12 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 442e878c2eb585b6df5091e0eeb2cb11d694f000
https://github.com/WebKit/WebKit/commit/442e878c2eb585b6df5091e0eeb2cb11d694f000
Author: Sihui Liu <sihui_liu at apple.com>
Date: 2023-05-02 (Tue, 02 May 2023)
Changed paths:
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/NetworkProcess/NetworkProcess.h
M Source/WebKit/NetworkProcess/NetworkProcess.messages.in
M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp
M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h
M Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm
Log Message:
-----------
Add SPI for getting notification when WebsiteDataStore is removed in network process
https://bugs.webkit.org/show_bug.cgi?id=256065
rdar://problem/108634838
Reviewed by Chris Dumez.
There is a delay between WebsiteDataStore getting destroyed in UI process and network process stopping accessing files
that belong to the WebsiteDataStore. If UI process wants to operate on these files, it has to wait until network process
stops access, to avoid race or corruption. This patch introduces an SPI for client to know when network process finally
stops accessing the files.
API test: WKWebsiteDataStorePrivate.CompletionHandlerForRemovalFromNetworkProcess
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::destroySession):
* Source/WebKit/NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::destroySession):
* Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _setCompletionHandlerForRemovalFromNetworkProcess:]):
* Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::removeSession):
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::networkProcessDidTerminate):
(WebKit::WebsiteDataStore::setCompletionHandlerForRemovalFromNetworkProcess):
* Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h:
* Tools/TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/263603@main
More information about the webkit-changes
mailing list