12022-04-21 Sihui Liu <sihui_liu@apple.com>
2
3 WebProcessProxy should not hold WebsiteDataStore alive when there is no page
4 https://bugs.webkit.org/show_bug.cgi?id=238892
5
6 Reviewed by NOBODY (OOPS!).
7
8 WebProcessProxy can outlive WebPageProxy, and because WebProcessProxy holds strong reference to WebsiteDataStore,
9 WebsiteDataStore will be kept alive even when it's not used by any page and will not be used by any page.
10
11 * UIProcess/GPU/GPUProcessProxy.cpp:
12 (WebKit::GPUProcessProxy::getGPUProcessConnection):
13 * UIProcess/ProvisionalPageProxy.cpp:
14 (WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
15 (WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):
16 * UIProcess/ProvisionalPageProxy.h:
17 (WebKit::ProvisionalPageProxy::websiteDataStore const):
18 * UIProcess/SuspendedPageProxy.cpp:
19 (WebKit::SuspendedPageProxy::findReusableSuspendedPageProcess):
20 * UIProcess/WebBackForwardCache.cpp:
21 (WebKit::WebBackForwardCache::removeEntriesForSession):
22 * UIProcess/WebLockRegistryProxy.cpp:
23 (WebKit::WebLockRegistryProxy::requestLock):
24 (WebKit::WebLockRegistryProxy::releaseLock):
25 (WebKit::WebLockRegistryProxy::abortLockRequest):
26 (WebKit::WebLockRegistryProxy::snapshot):
27 (WebKit::WebLockRegistryProxy::clientIsGoingAway):
28 (WebKit::WebLockRegistryProxy::processDidExit):
29 * UIProcess/WebPageProxy.cpp:
30 (WebKit::WebPageProxy::swapToProvisionalPage):
31 (WebKit::WebPageProxy::commitProvisionalPage):
32 * UIProcess/WebProcessCache.cpp:
33 (WebKit::WebProcessCache::canCacheProcess const):
34 (WebKit::WebProcessCache::takeProcess):
35 (WebKit::WebProcessCache::clearAllProcessesForSession):
36 (WebKit::WebProcessCache::CachedProcess::CachedProcess):
37 * UIProcess/WebProcessPool.cpp:
38 (WebKit::WebProcessPool::establishRemoteWorkerContextConnectionToNetworkProcess):
39 (WebKit::WebProcessPool::processForRegistrableDomain):
40 (WebKit::WebProcessPool::createWebPage):
41 (WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
42 (WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
43 (WebKit::WebProcessPool::hasPagesUsingWebsiteDataStore const):
44 (WebKit::WebProcessPool::processForNavigationInternal):
45 * UIProcess/WebProcessPool.h:
46 * UIProcess/WebProcessProxy.cpp:
47 (WebKit::WebProcessProxy::WebProcessProxy):
48 (WebKit::m_webLockRegistry):
49 (WebKit::WebProcessProxy::setWebsiteDataStore):
50 (WebKit::WebProcessProxy::isDummyProcessProxy const):
51 (WebKit::WebProcessProxy::updateRegistrationWithDataStore):
52 (WebKit::WebProcessProxy::addExistingWebPage):
53 (WebKit::WebProcessProxy::removeWebPage):
54 (WebKit::WebProcessProxy::getNetworkProcessConnection):
55 (WebKit::WebProcessProxy::didStartProvisionalLoadForMainFrame):
56 (WebKit::WebProcessProxy::sessionID const):
57 * UIProcess/WebProcessProxy.h:
58 (WebKit::WebProcessProxy::websiteDataStore const): Deleted.
59 * UIProcess/glib/WebProcessProxyGLib.cpp:
60 (WebKit::WebProcessProxy::platformGetLaunchOptions):
61