12022-03-02 Sihui Liu <sihui_liu@apple.com>
2
3 REGRESSION (r289474): cacheStoragePath is empty in NetworkStorageManager::localOriginStorageManager
4 https://bugs.webkit.org/show_bug.cgi?id=237335
5
6 Reviewed by Chris Dumez.
7
8 CacheStorage::Engine::storagePath returns emptyString if salt file under rootDirectory cannot be read or
9 written, so we need to make sure sandbox extension for rootDirectory is consumed before calling storagePath
10 (in createNetworkStorageManager of NetworkSession).
11
12 This patch also refactors code about adding session in network process. Now we would create
13 NetworkStorageManager when NetworkSession is created.
14
15 * NetworkProcess/NetworkConnectionToWebProcess.cpp:
16 (WebKit::NetworkConnectionToWebProcess::updateQuotaBasedOnSpaceUsageForTesting):
17 (WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFilesForIndexedDB):
18 * NetworkProcess/NetworkProcess.cpp:
19 (WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
20 (WebKit::NetworkProcess::addStorageSession):
21 (WebKit::NetworkProcess::addWebsiteDataStore):
22 (WebKit::NetworkProcess::hasLocalStorage):
23 (WebKit::NetworkProcess::fetchWebsiteData):
24 (WebKit::NetworkProcess::deleteWebsiteData):
25 (WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
26 (WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
27 (WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
28 (WebKit::NetworkProcess::prepareToSuspend):
29 (WebKit::NetworkProcess::resume):
30 (WebKit::NetworkProcess::syncLocalStorage):
31 (WebKit::NetworkProcess::resetQuota):
32 (WebKit::NetworkProcess::clearStorage):
33 (WebKit::NetworkProcess::didIncreaseQuota):
34 (WebKit::NetworkProcess::renameOriginInWebsiteData):
35 (WebKit::NetworkProcess::uiProcessBundleIdentifier):
36 (WebKit::NetworkProcess::connectionToWebProcessClosed):
37 (WebKit::NetworkProcess::ensureSession): Deleted.
38 * NetworkProcess/NetworkProcess.h:
39 (WebKit::NetworkProcess::uiProcessBundleIdentifier const): Deleted.
40 * NetworkProcess/NetworkSession.cpp:
41 (WebKit::createNetworkStorageManager):
42 (WebKit::NetworkSession::NetworkSession):
43 (WebKit::NetworkSession::invalidateAndCancel):
44 (WebKit::NetworkSession::lowMemoryHandler):
45 (WebKit::NetworkSession::addServiceWorkerSession): Deleted.
46 (WebKit::NetworkSession::addStorageManagerSession): Deleted.
47 * NetworkProcess/NetworkSession.h:
48 (WebKit::NetworkSession::storageManager):
49 * NetworkProcess/NetworkSessionCreationParameters.cpp:
50 (WebKit::NetworkSessionCreationParameters::encode const):
51 (WebKit::NetworkSessionCreationParameters::decode):
52 * NetworkProcess/NetworkSessionCreationParameters.h:
53 * NetworkProcess/RemoteNetworkingContext.h: Removed.
54 * NetworkProcess/cache/CacheStorageEngine.cpp:
55 (WebKit::CacheStorage::Engine::requestSpace):
56 * NetworkProcess/cocoa/NetworkProcessCocoa.mm:
57 (WebKit::NetworkProcess::uiProcessBundleIdentifier):
58 * NetworkProcess/curl/RemoteNetworkingContextCurl.cpp: Removed.
59 * NetworkProcess/mac/RemoteNetworkingContext.mm: Removed.
60 * NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Removed.
61 * PlatformPlayStation.cmake:
62 * PlatformWin.cmake:
63 * Shared/WebsiteDataStoreParameters.cpp:
64 (WebKit::WebsiteDataStoreParameters::encode const):
65 (WebKit::WebsiteDataStoreParameters::decode):
66 (WebKit::WebsiteDataStoreParameters::~WebsiteDataStoreParameters): Deleted.
67 * Shared/WebsiteDataStoreParameters.h:
68 (): Deleted.
69 * SourcesCocoa.txt:
70 * SourcesGTK.txt:
71 * SourcesWPE.txt:
72 * UIProcess/Network/NetworkProcessProxy.cpp:
73 (WebKit::NetworkProcessProxy::addSession):
74 * UIProcess/WebsiteData/WebsiteDataStore.cpp:
75 (WebKit::WebsiteDataStore::parameters):
76 * UIProcess/WebsiteData/WebsiteDataStore.h:
77 (WebKit::WebsiteDataStore::resolvedIndexedDBDirectory const):
78 (WebKit::WebsiteDataStore::resolvedIndexedDatabaseDirectory const): Deleted.
79