Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: cb506c8dfb5d786161414aa588f9286266b60aa5
https://github.com/WebKit/WebKit/commit/cb506c8dfb5d786161414aa588f9286266b60aa5
Author: Chris Dumez <[email protected]>
Date: 2025-03-13 (Thu, 13 Mar 2025)
Changed paths:
M Source/JavaScriptCore/API/JSScript.mm
M Source/JavaScriptCore/jsc.cpp
M Source/JavaScriptCore/runtime/CachedTypes.cpp
M Source/JavaScriptCore/runtime/CachedTypes.h
M Source/JavaScriptCore/runtime/CodeCache.cpp
M Source/JavaScriptCore/runtime/CodeCache.h
M Source/JavaScriptCore/runtime/Completion.cpp
M Source/JavaScriptCore/runtime/Completion.h
M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
M Source/JavaScriptCore/wasm/WasmStreamingParser.cpp
M Source/WTF/WTF.xcodeproj/project.pbxproj
M Source/WTF/wtf/CMakeLists.txt
A Source/WTF/wtf/FileHandle.cpp
A Source/WTF/wtf/FileHandle.h
M Source/WTF/wtf/FileSystem.cpp
M Source/WTF/wtf/FileSystem.h
M Source/WTF/wtf/cocoa/FileSystemCocoa.mm
M Source/WTF/wtf/posix/FileSystemPOSIX.cpp
M Source/WTF/wtf/win/FileSystemWin.cpp
M Source/WebCore/Headers.cmake
M Source/WebCore/Modules/filesystemaccess/FileSystemStorageConnection.h
M Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp
M Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.h
M Source/WebCore/Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm
M Source/WebCore/Modules/webdatabase/OriginLock.cpp
M Source/WebCore/Modules/webdatabase/OriginLock.h
M Source/WebCore/Sources.txt
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/bindings/js/GCController.cpp
M Source/WebCore/contentextensions/SerializedNFA.cpp
M Source/WebCore/html/FileInputType.cpp
M Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp
R Source/WebCore/platform/FileHandle.cpp
R Source/WebCore/platform/FileHandle.h
M Source/WebCore/platform/FileStream.cpp
M Source/WebCore/platform/FileStream.h
M Source/WebCore/platform/VideoPixelFormat.h
M Source/WebCore/platform/cocoa/FileMonitorCocoa.mm
M Source/WebCore/platform/graphics/GraphicsLayer.cpp
M Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp
M Source/WebCore/platform/network/BlobRegistryImpl.cpp
M Source/WebCore/platform/network/BlobResourceHandle.cpp
M Source/WebCore/platform/network/curl/CookieJarDB.cpp
M Source/WebCore/platform/network/curl/CurlFormDataStream.cpp
M Source/WebCore/platform/network/curl/CurlFormDataStream.h
M Source/WebCore/storage/StorageUtilities.cpp
M Source/WebCore/testing/Internals.cpp
M Source/WebCore/workers/service/server/SWScriptStorage.cpp
M Source/WebGPU/WGSL/wgslc.cpp
M Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp
M Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h
M Source/WebKit/NetworkProcess/NetworkDataTaskDataURL.cpp
M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp
M Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h
M Source/WebKit/NetworkProcess/cache/NetworkCache.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheData.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheData.h
M Source/WebKit/NetworkProcess/cache/NetworkCacheDataCocoa.mm
M Source/WebKit/NetworkProcess/cache/NetworkCacheDataCurl.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannel.h
M Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp
M Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp
M Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h
M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.cpp
M Source/WebKit/NetworkProcess/storage/CacheStorageManager.cpp
M Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.cpp
M Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.h
M Source/WebKit/Platform/IPC/SharedFileHandle.cpp
M Source/WebKit/Platform/IPC/SharedFileHandle.h
M Source/WebKit/Platform/IPC/cocoa/SharedFileHandleCocoa.cpp
M Source/WebKit/Shared/PersistencyUtils.cpp
M Source/WebKit/Shared/WebMemorySampler.cpp
M Source/WebKit/Shared/WebMemorySampler.h
M Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm
M Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp
M Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm
M Source/WebKit/UIProcess/Extensions/WebExtension.cpp
M Source/WebKit/UIProcess/Inspector/win/WebInspectorUIProxyWin.cpp
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp
M Source/WebKit/UIProcess/ios/WKModelView.mm
M Source/WebKit/WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm
M Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp
M Tools/TestWebKitAPI/Tests/WebCore/FileMonitor.cpp
M Tools/TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp
M Tools/TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm
M Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GstElementHarness.cpp
Log Message:
-----------
FileSystem::openFile() should return a FileHandle
https://bugs.webkit.org/show_bug.cgi?id=289509
Reviewed by Geoffrey Garen.
FileSystem::openFile() should return a FileHandle instead of a
PlatformFileHandle, FileHandle being a
RAII wrapper to make sure we never forget to close file descriptors.
In a follow-up, I will look into cleaning up FileSystem.h, now that some of the
API is only needed
by FileHandle.
* Source/JavaScriptCore/API/JSScript.mm:
(-[JSScript readCache]):
* Source/JavaScriptCore/jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
* Source/JavaScriptCore/wasm/WasmStreamingParser.cpp:
(JSC::Wasm::dumpWasmSource):
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/CMakeLists.txt:
* Source/WTF/wtf/FileHandle.cpp: Added.
(WTF::FileSystemImpl::FileHandle::FileHandle):
(WTF::FileSystemImpl::FileHandle::~FileHandle):
(WTF::FileSystemImpl::FileHandle::operator=):
(WTF::FileSystemImpl::FileHandle::readAll):
(WTF::FileSystemImpl::FileHandle::read):
(WTF::FileSystemImpl::FileHandle::write):
(WTF::FileSystemImpl::FileHandle::lock):
(WTF::FileSystemImpl::FileHandle::truncate):
(WTF::FileSystemImpl::FileHandle::closeIfNecessary):
(WTF::FileSystemImpl::FileHandle::size):
(WTF::FileSystemImpl::FileHandle::seek):
(WTF::FileSystemImpl::FileHandle::flush):
(WTF::FileSystemImpl::FileHandle::id):
* Source/WTF/wtf/FileHandle.h: Added.
(WTF::FileSystemImpl::FileHandle::FileHandle):
(WTF::FileSystemImpl::FileHandle::platformHandle const):
(WTF::FileSystemImpl::FileHandle::isValid const):
(WTF::FileSystemImpl::FileHandle::operator bool const):
* Source/WTF/wtf/FileSystem.cpp:
(WTF::FileSystemImpl::appendFileContentsToFileHandle):
(WTF::FileSystemImpl::MappedFileData::MappedFileData):
(WTF::FileSystemImpl::openAndLockFile):
(WTF::FileSystemImpl::createMappedFileData):
(WTF::FileSystemImpl::mapToFile):
(WTF::FileSystemImpl::readOrMakeSalt):
(WTF::FileSystemImpl::readEntireFile):
(WTF::FileSystemImpl::overwriteEntireFile):
(WTF::FileSystemImpl::createTemporaryFile):
(WTF::FileSystemImpl::unlockAndCloseFile): Deleted.
* Source/WTF/wtf/FileSystem.h:
(WTF::FileSystemImpl::openTemporaryFile):
* Source/WTF/wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::openTemporaryFile):
* Source/WTF/wtf/posix/FileSystemPOSIX.cpp:
(WTF::FileSystemImpl::openFile):
(WTF::FileSystemImpl::openTemporaryFile):
* Source/WTF/wtf/win/FileSystemWin.cpp:
(WTF::FileSystemImpl::openTemporaryFile):
(WTF::FileSystemImpl::openFile):
* Source/WebCore/Headers.cmake:
* Source/WebCore/Modules/filesystemaccess/FileSystemStorageConnection.h:
(WebCore::FileSystemStorageConnection::SyncAccessHandleInfo::isolatedCopy):
* Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.cpp:
(WebCore::FileSystemSyncAccessHandle::create):
(WebCore::FileSystemSyncAccessHandle::FileSystemSyncAccessHandle):
(WebCore::FileSystemSyncAccessHandle::truncate):
(WebCore::FileSystemSyncAccessHandle::getSize):
(WebCore::FileSystemSyncAccessHandle::flush):
(WebCore::FileSystemSyncAccessHandle::read):
(WebCore::FileSystemSyncAccessHandle::write):
* Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.h:
* Source/WebCore/Modules/model-element/scenekit/SceneKitModelLoaderUSD.mm:
(WebCore::writeToTemporaryFile):
* Source/WebCore/Modules/webdatabase/OriginLock.cpp:
* Source/WebCore/Modules/webdatabase/OriginLock.h:
(): Deleted.
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/GCController.cpp:
(WebCore::GCController::dumpHeapForVM):
* Source/WebCore/contentextensions/SerializedNFA.cpp:
(WebCore::ContentExtensions::writeAllToFile):
(WebCore::ContentExtensions::SerializedNFA::serialize):
* Source/WebCore/html/FileInputType.cpp:
(WebCore::FileInputType::filesChosen):
* Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory):
* Source/WebCore/platform/FileHandle.cpp: Removed.
* Source/WebCore/platform/FileHandle.h: Removed.
* Source/WebCore/platform/FileStream.cpp:
(WebCore::FileStream::openForRead):
(WebCore::FileStream::close):
(WebCore::FileStream::read):
(WebCore::FileStream::FileStream): Deleted.
(WebCore::FileStream::~FileStream): Deleted.
* Source/WebCore/platform/FileStream.h:
* Source/WebCore/platform/cocoa/FileMonitorCocoa.mm:
(WebCore::FileMonitor::FileMonitor):
* Source/WebCore/platform/graphics/GraphicsLayer.cpp:
(showGraphicsLayerTree):
* Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp:
(WebCore::transcodeImage):
* Source/WebCore/platform/network/BlobRegistryImpl.cpp:
(WebCore::writeFilePathsOrDataBuffersToFile):
(WebCore::BlobRegistryImpl::writeBlobsToTemporaryFilesForIndexedDB):
* Source/WebCore/platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::flagDatabaseCorruption):
* Source/WebCore/platform/network/curl/CurlFormDataStream.cpp:
(WebCore::CurlFormDataStream::readFromFile):
* Source/WebCore/platform/network/curl/CurlFormDataStream.h:
* Source/WebCore/storage/StorageUtilities.cpp:
(WebCore::StorageUtilities::readOriginFromFile):
(WebCore::StorageUtilities::writeOriginToFile):
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::createTemporaryFile):
* Source/WebCore/workers/service/server/SWScriptStorage.cpp:
(WebCore::SWScriptStorage::store):
* Source/WebGPU/WGSL/wgslc.cpp:
(runWGSL):
* Source/WebKit/NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::consumeData):
(WebKit::NetworkDataTaskBlob::download):
(WebKit::NetworkDataTaskBlob::writeDownload):
(WebKit::NetworkDataTaskBlob::cleanDownloadFiles):
(WebKit::NetworkDataTaskBlob::didFinishDownload):
(WebKit::NetworkDataTaskBlob::didFinish):
* Source/WebKit/NetworkProcess/NetworkDataTaskBlob.h:
* Source/WebKit/NetworkProcess/NetworkDataTaskDataURL.cpp:
(WebKit::NetworkDataTaskDataURL::downloadDecodedData):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.cpp:
(WebKit::ServiceWorkerDownloadTask::cancel):
(WebKit::ServiceWorkerDownloadTask::setPendingDownloadLocation):
(WebKit::ServiceWorkerDownloadTask::didReceiveData):
(WebKit::ServiceWorkerDownloadTask::didFinish):
(WebKit::ServiceWorkerDownloadTask::didFailDownload):
* Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerDownloadTask.h:
* Source/WebKit/NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::dumpContentsToFile):
* Source/WebKit/NetworkProcess/cache/NetworkCacheData.cpp:
(WebKit::NetworkCache::Data::mapToFile const):
(WebKit::NetworkCache::mapFile):
(WebKit::NetworkCache::adoptAndMapFile):
* Source/WebKit/NetworkProcess/cache/NetworkCacheData.h:
(WebKit::NetworkCache::Data::Data):
* Source/WebKit/NetworkProcess/cache/NetworkCacheDataCocoa.mm:
(WebKit::NetworkCache::Data::adoptMap):
* Source/WebKit/NetworkProcess/cache/NetworkCacheDataCurl.cpp:
(WebKit::NetworkCache::Data::adoptMap):
* Source/WebKit/NetworkProcess/cache/NetworkCacheDataGLib.cpp:
(WebKit::NetworkCache::Data::Data):
(WebKit::NetworkCache::Data::adoptMap):
(WebKit::NetworkCache::Data::tryCreateSharedMemory const):
(WebKit::NetworkCache::MapWrapper::~MapWrapper): Deleted.
* Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannel.h:
(WebKit::NetworkCache::IOChannel::WTF_GUARDED_BY_LOCK): Deleted.
* Source/WebKit/NetworkProcess/cache/NetworkCacheIOChannelCurl.cpp:
(WebKit::NetworkCache::IOChannel::~IOChannel):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):
* Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::invokeDidReceiveResponse):
(WebKit::NetworkDataTaskCurl::deleteDownloadFile):
* Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h:
* Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.cpp:
(WebKit::BackgroundFetchStoreManager::storeFetchResponseBodyChunk):
* Source/WebKit/NetworkProcess/storage/CacheStorageManager.cpp:
(WebKit::readCachesList):
* Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.cpp:
(WebKit::FileSystemStorageHandle::create):
(WebKit::FileSystemStorageHandle::createSyncAccessHandle):
(WebKit::FileSystemStorageHandle::createWritable):
(WebKit::FileSystemStorageHandle::closeWritable):
(WebKit::FileSystemStorageHandle::executeCommandForWritableInternal):
(WebKit::FileSystemStorageHandle::computeCommandSpace):
* Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.h:
* Source/WebKit/Platform/IPC/SharedFileHandle.cpp:
(IPC::SharedFileHandle::create):
* Source/WebKit/Platform/IPC/SharedFileHandle.h:
(IPC::SharedFileHandle::release):
(IPC::SharedFileHandle::SharedFileHandle):
* Source/WebKit/Platform/IPC/cocoa/SharedFileHandleCocoa.cpp:
(IPC::SharedFileHandle::create):
(IPC::SharedFileHandle::SharedFileHandle):
(IPC::SharedFileHandle::toMachSendRight const):
* Source/WebKit/Shared/PersistencyUtils.cpp:
(WebKit::writeToDisk):
* Source/WebKit/Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::stop):
(WebKit::WebMemorySampler::initializeTempLogFile):
(WebKit::WebMemorySampler::writeHeaders):
(WebKit::WebMemorySampler::sampleTimerFired):
(WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
* Source/WebKit/Shared/WebMemorySampler.h:
(): Deleted.
* Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::fileContents):
(WebKit::writeSandboxDataToCacheFile):
* Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp:
(API::writeDataToFile):
(API::compiledToFile):
(API::ContentRuleListStore::invalidateContentRuleListVersion):
(API::ContentRuleListStore::corruptContentRuleListHeader):
(API::ContentRuleListStore::invalidateContentRuleListHeader):
* Source/WebKit/UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
* Source/WebKit/UIProcess/Extensions/WebExtension.cpp:
(WebKit::convertChromeExtensionToTemporaryZipFile):
* Source/WebKit/UIProcess/Inspector/win/WebInspectorUIProxyWin.cpp:
(WebKit::WebInspectorUIProxy::showSavePanelForSingleFile):
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::prepareQuickLookImageURL const):
* Source/WebKit/UIProcess/ios/WKModelView.mm:
(-[WKModelView createFileForModel:]):
* Source/WebKit/WebProcess/Model/mac/ARKitInlinePreviewModelPlayerMac.mm:
(WebKit::ARKitInlinePreviewModelPlayerMac::createFile):
* Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp:
(TestWebKitAPI::createTestFile):
(TestWebKitAPI::TEST_F(FileSystemTest, openExistingFileTruncate)):
(TestWebKitAPI::TEST_F(FileSystemTest,
openExistingFileTruncateFailIfFileExists)):
(TestWebKitAPI::TEST_F(FileSystemTest, openExistingFileReadWrite)):
(TestWebKitAPI::TEST_F(FileSystemTest,
openExistingFileReadWriteFailIfFileExists)):
(TestWebKitAPI::TEST_F(FileSystemTest, openExistingFileReadOnly)):
(TestWebKitAPI::TEST_F(FileSystemTest, openNonExistingFileTruncate)):
(TestWebKitAPI::TEST_F(FileSystemTest,
openNonExistingFileTruncateFailIfFileExists)):
(TestWebKitAPI::TEST_F(FileSystemTest, openNonExistingFileReadWrite)):
(TestWebKitAPI::TEST_F(FileSystemTest,
openNonExistingFileReadWriteFailIfFileExists)):
(TestWebKitAPI::TEST_F(FileSystemTest, openNonExistingFileReadOnly)):
(TestWebKitAPI::TEST_F(FileSystemTest,
deleteEmptyDirectoryContainingDSStoreFile)):
(TestWebKitAPI::TEST_F(FileSystemTest,
deleteEmptyDirectoryOnNonEmptyDirectory)):
(TestWebKitAPI::TEST_F(FileSystemTest, moveDirectory)):
(TestWebKitAPI::runGetFileModificationTimeTest):
(TestWebKitAPI::TEST_F(FileSystemTest, readEntireFile)):
* Tools/TestWebKitAPI/Tests/WebCore/FileMonitor.cpp:
(TestWebKitAPI::TEST_F(FileMonitorTest, DetectDeleteButNotSubsequentChange)):
* Tools/TestWebKitAPI/Tests/WebCore/SharedBufferTest.cpp:
(TestWebKitAPI::FragmentedSharedBufferTest::SetUp):
* Tools/TestWebKitAPI/Tests/WebCore/cocoa/DatabaseTrackerTest.mm:
(TestWebKitAPI::createFileAtPath):
* Tools/TestWebKitAPI/Tests/WebCore/gstreamer/GstElementHarness.cpp:
(TestWebKitAPI::TEST_F(GStreamerTest, harnessParseMP4)):
(TestWebKitAPI::TEST_F(GStreamerTest, harnessDecodeMP4Video)):
Canonical link: https://commits.webkit.org/292119@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