Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 3d45c70fab6dbc2f2f3810af811b32bdbc19be05 https://github.com/WebKit/WebKit/commit/3d45c70fab6dbc2f2f3810af811b32bdbc19be05 Author: Sihui Liu <sihui_...@apple.com> Date: 2024-03-11 (Mon, 11 Mar 2024)
Changed paths: M Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm M Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp M Source/WebKit/UIProcess/WebProcessPool.cpp M Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp M Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h M Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp M Source/WebKit/UIProcess/glib/WebProcessProxyGLib.cpp Log Message: ----------- Resolve directories on WorkQueue in UI process https://bugs.webkit.org/show_bug.cgi?id=270300 rdar://123841003 Reviewed by Chris Dumez. Move resolving directoreis off main thread in UI process to avoid slowing down main thread. Main thread still needs to wait directories to be resolved before using them, but now we dipsatch the task when WebsiteDataStore is created, so there is chance that the directories are already resolved before the use. Also, the queue has the same priority as main thread, so in the worst case where client uses WebsiteDataStore immediately after creating it, the performance will be the same as current implementation. * Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _initWithConfiguration:]): * Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp: (WebKit::gpuProcessSessionParameters): * Source/WebKit/UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::webProcessDataStoreParameters): * Source/WebKit/UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: (WebKit::WebsiteDataStore::platformSetNetworkParameters): (WebKit::WebsiteDataStore::saveRecentSearches): (WebKit::WebsiteDataStore::loadRecentSearches): (WebKit::WebsiteDataStore::removeRecentSearches): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::createNonPersistent): (WebKit::WebsiteDataStore::create): (WebKit::WebsiteDataStore::WebsiteDataStore): (WebKit::WebsiteDataStore::defaultDataStore): (WebKit::migrateMediaKeysStorageIfNecessary): (WebKit::resolveDirectories): (WebKit::WebsiteDataStore::resolvedDirectories const): (WebKit::WebsiteDataStore::mediaKeysStorageSalt const): (WebKit::WebsiteDataStore::resolveDirectoriesAsynchronously): (WebKit::WebsiteDataStore::handleResolvedDirectoriesAsynchronously): (WebKit::WebsiteDataStore::waitForDirectoriesToResolveIfNecessary): (WebKit::WebsiteDataStore::fetchDataAndApply): (WebKit::WebsiteDataStore::removeData): (WebKit::WebsiteDataStore::parameters): (WebKit::WebsiteDataStore::migrateMediaKeysStorageIfNecessary): Deleted. (WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary): Deleted. * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::perOriginStorageQuota const): (WebKit::WebsiteDataStore::originQuotaRatio): (WebKit::WebsiteDataStore::resolvedCacheStorageDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedLocalStorageDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedNetworkCacheDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedAlternativeServicesStorageDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedMediaCacheDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedMediaKeysDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedJavaScriptConfigurationDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedCookieStorageFile const): Deleted. (WebKit::WebsiteDataStore::resolvedIndexedDBDatabaseDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedServiceWorkerRegistrationDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedResourceLoadStatisticsDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedHSTSStorageDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedGeneralStorageDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedSearchFieldHistoryDirectory const): Deleted. (WebKit::WebsiteDataStore::resolvedModelElementCacheDirectory const): Deleted. * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.cpp: (WebKit::WebsiteDataStoreConfiguration::copy const): (WebKit::WebsiteDataStoreConfiguration::Directories::isolatedCopy const): (WebKit::WebsiteDataStoreConfiguration::Directories::isolatedCopy): * Source/WebKit/UIProcess/WebsiteData/WebsiteDataStoreConfiguration.h: (WebKit::WebsiteDataStoreConfiguration::applicationCacheDirectory const): (WebKit::WebsiteDataStoreConfiguration::setApplicationCacheDirectory): (WebKit::WebsiteDataStoreConfiguration::mediaCacheDirectory const): (WebKit::WebsiteDataStoreConfiguration::setMediaCacheDirectory): (WebKit::WebsiteDataStoreConfiguration::mediaKeysStorageDirectory const): (WebKit::WebsiteDataStoreConfiguration::setMediaKeysStorageDirectory): (WebKit::WebsiteDataStoreConfiguration::alternativeServicesDirectory const): (WebKit::WebsiteDataStoreConfiguration::setAlternativeServicesDirectory): (WebKit::WebsiteDataStoreConfiguration::javaScriptConfigurationDirectory const): (WebKit::WebsiteDataStoreConfiguration::setJavaScriptConfigurationDirectory): (WebKit::WebsiteDataStoreConfiguration::searchFieldHistoryDirectory const): (WebKit::WebsiteDataStoreConfiguration::setSearchFieldHistoryDirectory): (WebKit::WebsiteDataStoreConfiguration::indexedDBDatabaseDirectory const): (WebKit::WebsiteDataStoreConfiguration::setIndexedDBDatabaseDirectory): (WebKit::WebsiteDataStoreConfiguration::webSQLDatabaseDirectory const): (WebKit::WebsiteDataStoreConfiguration::setWebSQLDatabaseDirectory): (WebKit::WebsiteDataStoreConfiguration::hstsStorageDirectory const): (WebKit::WebsiteDataStoreConfiguration::setHSTSStorageDirectory): (WebKit::WebsiteDataStoreConfiguration::localStorageDirectory const): (WebKit::WebsiteDataStoreConfiguration::setLocalStorageDirectory): (WebKit::WebsiteDataStoreConfiguration::modelElementCacheDirectory const): (WebKit::WebsiteDataStoreConfiguration::setModelElementCacheDirectory): (WebKit::WebsiteDataStoreConfiguration::deviceIdHashSaltsStorageDirectory const): (WebKit::WebsiteDataStoreConfiguration::setDeviceIdHashSaltsStorageDirectory): (WebKit::WebsiteDataStoreConfiguration::cookieStorageFile const): (WebKit::WebsiteDataStoreConfiguration::setCookieStorageFile): (WebKit::WebsiteDataStoreConfiguration::resourceLoadStatisticsDirectory const): (WebKit::WebsiteDataStoreConfiguration::setResourceLoadStatisticsDirectory): (WebKit::WebsiteDataStoreConfiguration::networkCacheDirectory const): (WebKit::WebsiteDataStoreConfiguration::setNetworkCacheDirectory): (WebKit::WebsiteDataStoreConfiguration::cacheStorageDirectory const): (WebKit::WebsiteDataStoreConfiguration::setCacheStorageDirectory): (WebKit::WebsiteDataStoreConfiguration::generalStorageDirectory const): (WebKit::WebsiteDataStoreConfiguration::setGeneralStorageDirectory): (WebKit::WebsiteDataStoreConfiguration::applicationCacheFlatFileSubdirectoryName const): (WebKit::WebsiteDataStoreConfiguration::setApplicationCacheFlatFileSubdirectoryName): (WebKit::WebsiteDataStoreConfiguration::serviceWorkerRegistrationDirectory const): (WebKit::WebsiteDataStoreConfiguration::setServiceWorkerRegistrationDirectory): (WebKit::WebsiteDataStoreConfiguration::directories const): * Source/WebKit/UIProcess/WebsiteData/curl/WebsiteDataStoreCurl.cpp: (WebKit::WebsiteDataStore::platformSetNetworkParameters): * Source/WebKit/UIProcess/glib/WebProcessProxyGLib.cpp: (WebKit::WebProcessProxy::platformGetLaunchOptions): Canonical link: https://commits.webkit.org/275959@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes